Wait for the second copy error

This commit is contained in:
Costin Manolache 2022-08-17 07:48:50 -07:00
parent 0247b941ac
commit 08c1b3e6ed

View File

@ -103,7 +103,7 @@ type Listener interface {
} }
func transport(rw1, rw2 io.ReadWriter) error { func transport(rw1, rw2 io.ReadWriter) error {
errc := make(chan error, 1) errc := make(chan error, 2)
go func() { go func() {
errc <- copyBuffer(rw1, rw2) errc <- copyBuffer(rw1, rw2)
}() }()
@ -113,10 +113,17 @@ func transport(rw1, rw2 io.ReadWriter) error {
}() }()
err := <-errc err := <-errc
err2 := <-errc
if err != nil && err == io.EOF { if err != nil && err == io.EOF {
err = nil err = nil
} }
if err != nil {
return err return err
}
if err2 != nil && err2 == io.EOF {
err2 = nil
}
return err2
} }
func copyBuffer(dst io.Writer, src io.Reader) error { func copyBuffer(dst io.Writer, src io.Reader) error {