Jelajahi Sumber

Fix negative WaitGroup counter panic

Rod Hynes 8 tahun lalu
induk
melakukan
8c838d4423
1 mengubah file dengan 4 tambahan dan 2 penghapusan
  1. 4 2
      psiphon/common/tun/tun.go

+ 4 - 2
psiphon/common/tun/tun.go

@@ -629,7 +629,9 @@ func (server *Server) runOrphanMetricsCheckpointer() {
 
 
 func (server *Server) runDeviceDownstream() {
 func (server *Server) runDeviceDownstream() {
 
 
-	defer server.workers.Done()
+	// TODO: this is a hack workaround for the issue documented in
+	// Server.Start().
+	//defer server.workers.Done()
 
 
 	// Read incoming packets from the tun device, parse and validate the
 	// Read incoming packets from the tun device, parse and validate the
 	// packets, map them to a session/client, perform rewriting, and relay
 	// packets, map them to a session/client, perform rewriting, and relay
@@ -1561,7 +1563,7 @@ func (client *Client) Start() {
 	//
 	//
 	//client.workers.Add(1)
 	//client.workers.Add(1)
 	go func() {
 	go func() {
-		defer client.workers.Done()
+		//defer client.workers.Done()
 		for {
 		for {
 			readPacket, err := client.device.ReadPacket()
 			readPacket, err := client.device.ReadPacket()