From 4177d3f53dcf4a61856b9d9a02bfb40285123dc0 Mon Sep 17 00:00:00 2001 From: "Stephen R. van den Berg" <srb@cuci.nl> Date: Sat, 5 May 2018 03:06:47 +0200 Subject: [PATCH] pgsql: Drain portal queue deterministically. --- lib/modules/Sql.pmod/pgsql_util.pmod | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod index 3e17ddc331..e2bc80339b 100644 --- a/lib/modules/Sql.pmod/pgsql_util.pmod +++ b/lib/modules/Sql.pmod/pgsql_util.pmod @@ -2468,11 +2468,11 @@ class proxy { final void close() { throwdelayederror(this); { - Thread.MutexKey lock = shortmux->lock(); - portalsinflight->wait_till_drained(lock); // Drain portal queue to completion - lock = 0; + Thread.MutexKey lock; if (unnamedstatement) termlock = unnamedstatement->lock(1); + foreach (c->runningportals; Result result; ) + catch(result->status_command_complete()); if (c) // Prevent trivial backtraces c->close(); if (unnamedstatement) -- GitLab