瀏覽代碼

Merge pull request #7559 from LK4D4/fix_udp_proxy_deadlock

Fix deadlock on failed dial in UDP userland proxy
Michael Crosby 11 年之前
父節點
當前提交
1c5a4e0900
共有 1 個文件被更改,包括 1 次插入0 次删除
  1. 1 0
      pkg/proxy/udp_proxy.go

+ 1 - 0
pkg/proxy/udp_proxy.go

@@ -116,6 +116,7 @@ func (proxy *UDPProxy) Run() {
 			proxyConn, err = net.DialUDP("udp", nil, proxy.backendAddr)
 			proxyConn, err = net.DialUDP("udp", nil, proxy.backendAddr)
 			if err != nil {
 			if err != nil {
 				log.Printf("Can't proxy a datagram to udp/%s: %s\n", proxy.backendAddr, err)
 				log.Printf("Can't proxy a datagram to udp/%s: %s\n", proxy.backendAddr, err)
+				proxy.connTrackLock.Unlock()
 				continue
 				continue
 			}
 			}
 			proxy.connTrackTable[*fromKey] = proxyConn
 			proxy.connTrackTable[*fromKey] = proxyConn