From ee0ca6cbd2aa43e8e13b88d2d82e4591fd0b6f79 Mon Sep 17 00:00:00 2001 From: Darien Raymond Date: Thu, 31 May 2018 13:12:36 +0200 Subject: [PATCH] fix a deadlock --- app/proxyman/inbound/worker.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/proxyman/inbound/worker.go b/app/proxyman/inbound/worker.go index 2e672da4f..2895f6269 100644 --- a/app/proxyman/inbound/worker.go +++ b/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 },