From 6cbb8e070d6c3a66bf48fbe5cbf689557eee23db Mon Sep 17 00:00:00 2001 From: Alexandr Morozov Date: Wed, 13 Aug 2014 17:18:37 +0400 Subject: [PATCH] Fix deadlock on failed dial in UDP userland proxy Signed-off-by: Alexandr Morozov --- pkg/proxy/udp_proxy.go | 1 + 1 file changed, 1 insertion(+) diff --git a/pkg/proxy/udp_proxy.go b/pkg/proxy/udp_proxy.go index 14f2306a5a..ae6a7bbc42 100644 --- a/pkg/proxy/udp_proxy.go +++ b/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