Merge pull request #762 from LK4D4/prevent_double_close
server: close only non-closed listeners
This commit is contained in:
@ -320,9 +320,11 @@ func (s *Server) Serve(lis net.Listener) error {
|
|||||||
s.lis[lis] = true
|
s.lis[lis] = true
|
||||||
s.mu.Unlock()
|
s.mu.Unlock()
|
||||||
defer func() {
|
defer func() {
|
||||||
lis.Close()
|
|
||||||
s.mu.Lock()
|
s.mu.Lock()
|
||||||
delete(s.lis, lis)
|
if s.lis != nil && s.lis[lis] {
|
||||||
|
lis.Close()
|
||||||
|
delete(s.lis, lis)
|
||||||
|
}
|
||||||
s.mu.Unlock()
|
s.mu.Unlock()
|
||||||
}()
|
}()
|
||||||
for {
|
for {
|
||||||
|
Reference in New Issue
Block a user