mirror of
https://github.com/xtaci/kcp-go.git
synced 2024-04-21 12:32:15 +00:00
socketError stored with stack
This commit is contained in:
+4
-2
@@ -4,6 +4,8 @@ package kcp
|
||||
|
||||
import (
|
||||
"sync/atomic"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
func (s *UDPSession) readLoop() {
|
||||
@@ -25,7 +27,7 @@ func (s *UDPSession) readLoop() {
|
||||
atomic.AddUint64(&DefaultSnmp.InErrs, 1)
|
||||
}
|
||||
} else {
|
||||
s.socketError.Store(err)
|
||||
s.socketError.Store(errors.WithStack(err))
|
||||
s.Close()
|
||||
return
|
||||
}
|
||||
@@ -42,7 +44,7 @@ func (l *Listener) monitor() {
|
||||
atomic.AddUint64(&DefaultSnmp.InErrs, 1)
|
||||
}
|
||||
} else {
|
||||
l.socketError.Store(err)
|
||||
l.socketError.Store(errors.WithStack(err))
|
||||
l.Close()
|
||||
return
|
||||
}
|
||||
|
||||
+3
-2
@@ -6,6 +6,7 @@ import (
|
||||
"net"
|
||||
"sync/atomic"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"golang.org/x/net/ipv4"
|
||||
"golang.org/x/net/ipv6"
|
||||
)
|
||||
@@ -52,7 +53,7 @@ func (s *UDPSession) readLoop() {
|
||||
s.packetInput(msg.Buffers[0][:msg.N])
|
||||
}
|
||||
} else {
|
||||
s.socketError.Store(err)
|
||||
s.socketError.Store(errors.WithStack(err))
|
||||
s.Close()
|
||||
return
|
||||
}
|
||||
@@ -85,7 +86,7 @@ func (l *Listener) monitor() {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
l.socketError.Store(err)
|
||||
s.socketError.Store(errors.WithStack(err))
|
||||
l.Close()
|
||||
return
|
||||
}
|
||||
|
||||
@@ -337,7 +337,7 @@ func (s *UDPSession) Close() error {
|
||||
s.l.closeSession(s.remote)
|
||||
} else { // client socket close
|
||||
if err := s.conn.Close(); err != nil {
|
||||
s.socketError.Store(err)
|
||||
s.socketError.Store(errors.WithStack(err))
|
||||
}
|
||||
}
|
||||
close(s.die)
|
||||
@@ -828,7 +828,7 @@ func (l *Listener) Close() (err error) {
|
||||
var once bool
|
||||
l.dieOnce.Do(func() {
|
||||
if err := l.conn.Close(); err != nil {
|
||||
l.socketError.Store(err)
|
||||
l.socketError.Store(errors.WithStack(err))
|
||||
}
|
||||
close(l.die)
|
||||
once = true
|
||||
|
||||
+4
-2
@@ -4,6 +4,8 @@ package kcp
|
||||
|
||||
import (
|
||||
"sync/atomic"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
func (s *UDPSession) txLoop() {
|
||||
@@ -16,7 +18,7 @@ func (s *UDPSession) txLoop() {
|
||||
nbytes += n
|
||||
xmitBuf.Put(txqueue[k].Buffers[0])
|
||||
} else {
|
||||
s.socketError.Store(err)
|
||||
s.socketError.Store(errors.WithStack(err))
|
||||
s.Close()
|
||||
return
|
||||
}
|
||||
@@ -39,7 +41,7 @@ func (l *Listener) txLoop() {
|
||||
nbytes += n
|
||||
xmitBuf.Put(txqueue[k].Buffers[0])
|
||||
} else {
|
||||
l.socketError.Store(err)
|
||||
l.socketError.Store(errors.WithStack(err))
|
||||
l.Close()
|
||||
return
|
||||
}
|
||||
|
||||
+3
-2
@@ -6,6 +6,7 @@ import (
|
||||
"net"
|
||||
"sync/atomic"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"golang.org/x/net/ipv4"
|
||||
"golang.org/x/net/ipv6"
|
||||
)
|
||||
@@ -30,7 +31,7 @@ func (s *UDPSession) txLoop() {
|
||||
if n, err := conn.WriteBatch(vec, 0); err == nil {
|
||||
vec = vec[n:]
|
||||
} else {
|
||||
s.socketError.Store(err)
|
||||
s.socketError.Store(errors.WithStack(err))
|
||||
s.Close()
|
||||
return
|
||||
}
|
||||
@@ -70,7 +71,7 @@ func (l *Listener) txLoop() {
|
||||
if n, err := conn.WriteBatch(vec, 0); err == nil {
|
||||
vec = vec[n:]
|
||||
} else {
|
||||
l.socketError.Store(err)
|
||||
s.socketError.Store(errors.WithStack(err))
|
||||
l.Close()
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user