From c9abb86f21f0b89b909e9d112829e21daf3c06d8 Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Sat, 25 Jan 2020 20:40:21 -0600 Subject: [PATCH] Ensure write failure in CopyFrom closes connection --- pgconn.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pgconn.go b/pgconn.go index e34b4cfe..f56575ca 100644 --- a/pgconn.go +++ b/pgconn.go @@ -1101,6 +1101,9 @@ func (pgConn *PgConn) CopyFrom(ctx context.Context, r io.Reader, sql string) (Co _, writeErr := pgConn.conn.Write(buf) if writeErr != nil { + // Write errors are always fatal, but we can't use asyncClose because we are in a different goroutine. + pgConn.conn.Close() + copyErrChan <- writeErr return }