Merge pull request #762 from LK4D4/prevent_double_close

server: close only non-closed listeners
This commit is contained in:
Qi Zhao
2016-07-14 10:55:03 -07:00
committed by GitHub

View File

@ -320,9 +320,11 @@ func (s *Server) Serve(lis net.Listener) error {
s.lis[lis] = true
s.mu.Unlock()
defer func() {
lis.Close()
s.mu.Lock()
if s.lis != nil && s.lis[lis] {
lis.Close()
delete(s.lis, lis)
}
s.mu.Unlock()
}()
for {