瀏覽代碼

fix a deadlock

Darien Raymond 7 年之前
父節點
當前提交
ee0ca6cbd2
共有 1 個文件被更改,包括 2 次插入1 次删除
  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
 		},