From 67f2418279fabea76c16c3b613b9893a3b86e7d8 Mon Sep 17 00:00:00 2001 From: Jack Christensen Date: Sat, 25 Jan 2020 20:39:18 -0600 Subject: [PATCH] Make copyErrChan buffered so goroutine can always terminate It is possible the goroutine that is reading from copyErrChan will not read in case of error. --- pgconn.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pgconn.go b/pgconn.go index 271e6628..e34b4cfe 100644 --- a/pgconn.go +++ b/pgconn.go @@ -1085,7 +1085,7 @@ func (pgConn *PgConn) CopyFrom(ctx context.Context, r io.Reader, sql string) (Co // Send copy data abortCopyChan := make(chan struct{}) - copyErrChan := make(chan error) + copyErrChan := make(chan error, 1) signalMessageChan := pgConn.signalMessage() go func() {