Browse Source

still need this goroutine

V2Ray 10 years ago
parent
commit
3f0f8f005d
1 changed files with 9 additions and 6 deletions
  1. 9 6
      proxy/freedom/freedom.go

+ 9 - 6
proxy/freedom/freedom.go

@@ -47,12 +47,15 @@ func (vconn *FreedomConnection) Start(ray core.OutboundRay) error {
 	go dumpInput(conn, input, writeFinish)
 	go dumpOutput(conn, output, readFinish)
 
-	<-writeFinish
-	if tcpConn, ok := conn.(*net.TCPConn); ok {
-		tcpConn.CloseWrite()
-	}
-	<-readFinish
-	conn.Close()
+  go func() {
+    <-writeFinish
+    if tcpConn, ok := conn.(*net.TCPConn); ok {
+      tcpConn.CloseWrite()
+    }
+    <-readFinish
+    conn.Close()
+  }()
+	
 	return nil
 }