Explorar o código

Fix deadlock on failed dial in UDP userland proxy

Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
Alexandr Morozov %!s(int64=11) %!d(string=hai) anos
pai
achega
6cbb8e070d
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  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)
 			if err != nil {
 				log.Printf("Can't proxy a datagram to udp/%s: %s\n", proxy.backendAddr, err)
+				proxy.connTrackLock.Unlock()
 				continue
 			}
 			proxy.connTrackTable[*fromKey] = proxyConn