fix double copy in transport

This commit is contained in:
ginuerzh 2022-08-18 13:18:59 +08:00
parent bd60c2cf14
commit a1a2ea59d4

View File

@ -9,7 +9,7 @@ import (
) )
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)
}() }()
@ -19,10 +19,16 @@ func Transport(rw1, rw2 io.ReadWriter) error {
}() }()
err := <-errc err := <-errc
if err != nil && err == io.EOF { err2 := <-errc
err = nil if err != nil && err != io.EOF {
}
return err return err
}
if err2 != nil && err2 != io.EOF {
return err2
}
return nil
} }
func copyBuffer(dst io.Writer, src io.Reader) error { func copyBuffer(dst io.Writer, src io.Reader) error {