Browse Source

fix a deadlock

Darien Raymond 7 năm trước cách đây
mục cha
commit
ee0ca6cbd2
1 tập tin đã thay đổi với 2 bổ sung1 xóa
  1. 2 1
      app/proxyman/inbound/worker.go

+ 2 - 1
app/proxyman/inbound/worker.go

@@ -328,6 +328,8 @@ func (w *udpWorker) Start() error {
 		Execute: func() error {
 			nowSec := time.Now().Unix()
 			w.Lock()
+			defer w.Unlock()
+
 			if len(w.activeConn) == 0 {
 				return nil
 			}
@@ -342,7 +344,6 @@ func (w *udpWorker) Start() error {
 			if len(w.activeConn) == 0 {
 				w.activeConn = make(map[connID]*udpConn, 16)
 			}
-			w.Unlock()
 
 			return nil
 		},