diff --git a/server/common_test.go b/server/common_test.go deleted file mode 100644 index 47ad606..0000000 --- a/server/common_test.go +++ /dev/null @@ -1,14 +0,0 @@ -package server - -import ( - "testing" - "fmt" -) - -func TestGo1(t *testing.T) { - ch := make(chan struct{},1000) - ch<-struct{}{} - fmt.Println(len(ch)) - <-ch - fmt.Println(len(ch)) -} diff --git a/server/server.go b/server/server.go index e65741a..3d33ec5 100644 --- a/server/server.go +++ b/server/server.go @@ -617,11 +617,14 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, req *http.Request) { // Close immediately closes all active net.Listeners. func (s *Server) Close() error { + s.mu.Lock() + defer s.mu.Unlock() s.closeDoneChanLocked() var err error if s.ln != nil { err = s.ln.Close() } + for c := range s.activeConn { c.Close() delete(s.activeConn, c)