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…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user