From eac4ea318fcf60e9bad94c961e04e662acb50fa0 Mon Sep 17 00:00:00 2001 From: Miek Gieben Date: Mon, 17 Aug 2015 11:11:14 +0100 Subject: [PATCH] Revert "Use defer Unlock() in ListAndServe" This reverts commit d2cb5e8fefecbfc3b65f9ec4c36afcd1cb3c2155. --- server.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/server.go b/server.go index 74d96264..997a9138 100644 --- a/server.go +++ b/server.go @@ -286,7 +286,6 @@ func (srv *Server) ListenAndServe() error { srv.lock.Unlock() return &Error{err: "server already started"} } - defer srv.lock.Unlock() srv.stopUDP, srv.stopTCP = make(chan bool), make(chan bool) srv.started = true addr := srv.Addr @@ -307,6 +306,7 @@ func (srv *Server) ListenAndServe() error { return e } srv.Listener = l + srv.lock.Unlock() return srv.serveTCP(l) case "udp", "udp4", "udp6": a, e := net.ResolveUDPAddr(srv.Net, addr) @@ -321,8 +321,10 @@ func (srv *Server) ListenAndServe() error { return e } srv.PacketConn = l + srv.lock.Unlock() return srv.serveUDP(l) } + srv.lock.Unlock() return &Error{err: "bad network"} }