diff options
Diffstat (limited to 'src/fe_utils/connect_utils.c')
-rw-r--r-- | src/fe_utils/connect_utils.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/fe_utils/connect_utils.c b/src/fe_utils/connect_utils.c index 808d54461fd..5ed9f3ba17b 100644 --- a/src/fe_utils/connect_utils.c +++ b/src/fe_utils/connect_utils.c @@ -157,19 +157,14 @@ connectMaintenanceDatabase(ConnParams *cparams, void disconnectDatabase(PGconn *conn) { - char errbuf[256]; - Assert(conn != NULL); if (PQtransactionStatus(conn) == PQTRANS_ACTIVE) { - PGcancel *cancel; + PGcancelConn *cancelConn = PQcancelCreate(conn); - if ((cancel = PQgetCancel(conn))) - { - (void) PQcancel(cancel, errbuf, sizeof(errbuf)); - PQfreeCancel(cancel); - } + (void) PQcancelBlocking(cancelConn); + PQcancelFinish(cancelConn); } PQfinish(conn); |