From 5fccea247ec794f4a657c78caaebc2c114290f34 Mon Sep 17 00:00:00 2001 From: bel Date: Sat, 15 Apr 2023 17:36:06 -0600 Subject: [PATCH] dont close until they close themself --- tcp.go | 21 ++++++--------------- 1 file changed, 6 insertions(+), 15 deletions(-) diff --git a/tcp.go b/tcp.go index fe455ac..2efcb1e 100644 --- a/tcp.go +++ b/tcp.go @@ -1,7 +1,6 @@ package main import ( - "context" "crypto/tls" "io" "log" @@ -44,27 +43,19 @@ func (tcp TCP) Listen() error { } defer conn2.Close() - ctx, can := context.WithCancel(context.Background()) - defer can() - errc := make(chan error) go func() { _, err := io.Copy(conn, conn2) - select { - case errc <- err: - case <-ctx.Done(): - close(errc) - } + errc <- err }() go func() { _, err := io.Copy(conn2, conn) - select { - case errc <- err: - case <-ctx.Done(): - close(errc) - } + errc <- err }() - <-errc + for i := 0; i < 2; i++ { + <-errc + } + close(errc) }() } }