code: func (l *Listener) Close() error {
  	oldFlag := atomic.SwapInt32(&l.stopFlag, 1)
  	if oldFlag == 0 {
  		close(l.stopChan)
  		// Wait for all conns to close
  		l.connWG.Wait()
  	}
  	return nil
  }
docs: // Close terminates the listener and all active connections.