Browse Source

prevent double close in tcp hub

Darien Raymond 8 năm trước cách đây
mục cha
commit
52ed93408b
1 tập tin đã thay đổi với 5 bổ sung0 xóa
  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)
 	}
 }