Browse code

Fix deadlock on failed dial in UDP userland proxy

Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>

Alexandr Morozov authored on 2014/08/13 22:18:37
Showing 1 changed files
... ...
@@ -116,6 +116,7 @@ func (proxy *UDPProxy) Run() {
116 116
 			proxyConn, err = net.DialUDP("udp", nil, proxy.backendAddr)
117 117
 			if err != nil {
118 118
 				log.Printf("Can't proxy a datagram to udp/%s: %s\n", proxy.backendAddr, err)
119
+				proxy.connTrackLock.Unlock()
119 120
 				continue
120 121
 			}
121 122
 			proxy.connTrackTable[*fromKey] = proxyConn