Quellcode durchsuchen

prevent double close in tcp hub

Darien Raymond vor 8 Jahren
Ursprung
Commit
52ed93408b
1 geänderte Dateien mit 5 neuen und 0 gelöschten Zeilen
  1. 5 0
      transport/internet/tcp_hub.go

+ 5 - 0
transport/internet/tcp_hub.go

@@ -63,11 +63,16 @@ func ListenTCP(address v2net.Address, port v2net.Port, callback ConnectionHandle
 }
 
 func (v *TCPHub) Close() {
+	defer func() {
+		recover()
+	}()
+
 	select {
 	case <-v.closed:
 		return
 	default:
 		v.listener.Close()
+		close(v.closed)
 	}
 }