server: Prevent adding Listeners after Close
Check done after calling trackListener to prevent the listener from being registered after the server is closed.
This commit is contained in:
parent
a05fa6d6bd
commit
1d6cbddc5b
@ -163,13 +163,13 @@ func (srv *Server) deleteListener(l *net.Listener) {
|
||||
func (srv *Server) Serve(l net.Listener) error {
|
||||
defer l.Close()
|
||||
|
||||
srv.trackListener(&l)
|
||||
defer srv.deleteListener(&l)
|
||||
|
||||
if atomic.LoadInt32(&srv.done) == 1 {
|
||||
return ErrServerClosed
|
||||
}
|
||||
|
||||
srv.trackListener(&l)
|
||||
defer srv.deleteListener(&l)
|
||||
|
||||
var tempDelay time.Duration // how long to sleep on accept failure
|
||||
|
||||
for {
|
||||
|
Loading…
Reference in New Issue
Block a user