From 4cd9d6e7c7ae676f5cda0bdfd6fc839680b97b69 Mon Sep 17 00:00:00 2001 From: "Stephen R. van den Berg" <srb@cuci.nl> Date: Thu, 22 Jun 2017 10:13:54 +0200 Subject: [PATCH] pgsql: Avoid dangling portals on errors. --- lib/modules/Sql.pmod/pgsql.pike | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/modules/Sql.pmod/pgsql.pike b/lib/modules/Sql.pmod/pgsql.pike index 37d7a3c652..e9e94c82e9 100644 --- a/lib/modules/Sql.pmod/pgsql.pike +++ b/lib/modules/Sql.pmod/pgsql.pike @@ -1042,7 +1042,7 @@ private void procmessage() { portal=0; break; case 'E': { - if(!_readyforquerycount) + if (_portalsinflight <= 1 && !_readyforquerycount) sendsync(); PD("%O ErrorResponse %O\n", objectp(portal)&&(portal._portalname||portal._preparedname), @@ -1084,8 +1084,6 @@ private void procmessage() { case "25P02": // Preserve last error message USERERROR(a2nls(lastmessage)); } - if(objectp(portal)) - portal->_releasesession(); break; } case 'N': { -- GitLab