mirror of https://github.com/v2ray/v2ray-core
fix sync issue in time calculation
parent
6a640cf32d
commit
9206d7a741
|
@ -89,9 +89,8 @@ func (w *tcpWorker) handleConnections(conns <-chan internet.Connection) {
|
||||||
select {
|
select {
|
||||||
case <-w.ctx.Done():
|
case <-w.ctx.Done():
|
||||||
w.hub.Close()
|
w.hub.Close()
|
||||||
nconns := len(conns)
|
|
||||||
L:
|
L:
|
||||||
for i := 0; i < nconns; i++ {
|
for {
|
||||||
select {
|
select {
|
||||||
case conn := <-conns:
|
case conn := <-conns:
|
||||||
conn.Close()
|
conn.Close()
|
||||||
|
@ -295,7 +294,7 @@ func (w *udpWorker) monitor() {
|
||||||
nowSec := time.Now().Unix()
|
nowSec := time.Now().Unix()
|
||||||
w.Lock()
|
w.Lock()
|
||||||
for addr, conn := range w.activeConn {
|
for addr, conn := range w.activeConn {
|
||||||
if nowSec-conn.lastActivityTime > 8 {
|
if nowSec-atomic.LoadInt64(&conn.lastActivityTime) > 8 {
|
||||||
delete(w.activeConn, addr)
|
delete(w.activeConn, addr)
|
||||||
conn.cancel()
|
conn.cancel()
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue