@@ -340,8 +340,8 @@ func (srv *Server) makeSelf(listener net.Listener, ntab discoverTable) *discover
// It blocks until all active connections have been closed.
func (srv *Server) Stop() {
srv.lock.Lock()
- defer srv.lock.Unlock()
if !srv.running {
+ srv.lock.Unlock()
return
}
srv.running = false
@@ -350,6 +350,7 @@ func (srv *Server) Stop() {
srv.listener.Close()
close(srv.quit)
srv.loopWG.Wait()