diff --git a/dnstt-client/main.go b/dnstt-client/main.go index 13776a0..9ae44d9 100644 --- a/dnstt-client/main.go +++ b/dnstt-client/main.go @@ -87,7 +87,7 @@ func handle(local *net.TCPConn, sess *smux.Session, conv uint32) error { log.Printf("begin stream %08x:%d", conv, stream.ID()) var wg sync.WaitGroup - wg.Add(1) + wg.Add(2) go func() { defer wg.Done() _, err := io.Copy(stream, local) @@ -97,7 +97,6 @@ func handle(local *net.TCPConn, sess *smux.Session, conv uint32) error { local.CloseRead() stream.Close() }() - wg.Add(1) go func() { defer wg.Done() _, err := io.Copy(local, stream) diff --git a/dnstt-server/main.go b/dnstt-server/main.go index 84a697a..b06034f 100644 --- a/dnstt-server/main.go +++ b/dnstt-server/main.go @@ -195,7 +195,7 @@ func handleStream(stream *smux.Stream, upstream *net.TCPAddr, conv uint32) error defer conn.Close() var wg sync.WaitGroup - wg.Add(1) + wg.Add(2) go func() { defer wg.Done() _, err := io.Copy(stream, conn) @@ -205,7 +205,6 @@ func handleStream(stream *smux.Stream, upstream *net.TCPAddr, conv uint32) error conn.CloseRead() stream.Close() }() - wg.Add(1) go func() { defer wg.Done() _, err := io.Copy(conn, stream)