|
|
@@ -89,9 +89,8 @@ func (w *tcpWorker) handleConnections(conns <-chan internet.Connection) {
|
|
|
select {
|
|
|
case <-w.ctx.Done():
|
|
|
w.hub.Close()
|
|
|
- nconns := len(conns)
|
|
|
L:
|
|
|
- for i := 0; i < nconns; i++ {
|
|
|
+ for {
|
|
|
select {
|
|
|
case conn := <-conns:
|
|
|
conn.Close()
|
|
|
@@ -295,7 +294,7 @@ func (w *udpWorker) monitor() {
|
|
|
nowSec := time.Now().Unix()
|
|
|
w.Lock()
|
|
|
for addr, conn := range w.activeConn {
|
|
|
- if nowSec-conn.lastActivityTime > 8 {
|
|
|
+ if nowSec-atomic.LoadInt64(&conn.lastActivityTime) > 8 {
|
|
|
delete(w.activeConn, addr)
|
|
|
conn.cancel()
|
|
|
}
|