diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/fe_utils/connect_utils.c | 11 | ||||
-rw-r--r-- | src/test/isolation/isolationtester.c | 29 |
2 files changed, 15 insertions, 25 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); diff --git a/src/test/isolation/isolationtester.c b/src/test/isolation/isolationtester.c index ed110f740f1..0b342b5c2bb 100644 --- a/src/test/isolation/isolationtester.c +++ b/src/test/isolation/isolationtester.c @@ -946,26 +946,21 @@ try_complete_step(TestSpec *testspec, PermutationStep *pstep, int flags) */ if (td > max_step_wait && !canceled) { - PGcancel *cancel = PQgetCancel(conn); + PGcancelConn *cancel_conn = PQcancelCreate(conn); - if (cancel != NULL) + if (PQcancelBlocking(cancel_conn)) { - char buf[256]; - - if (PQcancel(cancel, buf, sizeof(buf))) - { - /* - * print to stdout not stderr, as this should appear - * in the test case's results - */ - printf("isolationtester: canceling step %s after %d seconds\n", - step->name, (int) (td / USECS_PER_SEC)); - canceled = true; - } - else - fprintf(stderr, "PQcancel failed: %s\n", buf); - PQfreeCancel(cancel); + /* + * print to stdout not stderr, as this should appear in + * the test case's results + */ + printf("isolationtester: canceling step %s after %d seconds\n", + step->name, (int) (td / USECS_PER_SEC)); + canceled = true; } + else + fprintf(stderr, "PQcancel failed: %s\n", PQcancelErrorMessage(cancel_conn)); + PQcancelFinish(cancel_conn); } /* |