client.go | 6 +++++- diff --git a/client.go b/client.go index 4815a0cd4561edb27f18d1d147d4a07e0d3b58da..fe1a876970d9c334aa3bd2374f7745b6202e48a5 100644 --- a/client.go +++ b/client.go @@ -537,7 +537,11 @@ tc.SetLinger(0) } c := cl.newConnection(nc, false, nc.RemoteAddr(), nc.RemoteAddr().Network(), regularNetConnPeerConnConnString(nc)) - defer c.close() + defer func() { + cl.lock() + defer cl.unlock() + c.close() + }() c.Discovery = PeerSourceIncoming cl.runReceivedConn(c) }