diff --git a/pgconn.go b/pgconn.go index 7ddc50e6..c9891dbf 100644 --- a/pgconn.go +++ b/pgconn.go @@ -501,10 +501,10 @@ func (pgConn *PgConn) Prepare(ctx context.Context, name, sql string, paramOIDs [ if err := pgConn.lock(); err != nil { return nil, err } + defer pgConn.unlock() select { case <-ctx.Done(): - pgConn.unlock() return nil, ctx.Err() default: } @@ -548,8 +548,6 @@ readloop: } } - pgConn.unlock() - if parseErr != nil { return nil, parseErr }