From 08557c40b7ba282fb5b56a7aefbbf0fb2397fcb7 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 Upstream-commit: 6cbb8e070d6c3a66bf48fbe5cbf689557eee23db Component: engine --- components/engine/pkg/proxy/udp_proxy.go | 1 + 1 file changed, 1 insertion(+) diff --git a/components/engine/pkg/proxy/udp_proxy.go b/components/engine/pkg/proxy/udp_proxy.go index 14f2306a5a..ae6a7bbc42 100644 --- a/components/engine/pkg/proxy/udp_proxy.go +++ b/components/engine/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