diff --git a/lib/modules/Sql.pmod/pgsql.pike b/lib/modules/Sql.pmod/pgsql.pike index 4fc0c6c424f816abd95f73d192267444d875af7d..c190f72a200cae3c39e7c7094f7bcd95f686a72d 100644 --- a/lib/modules/Sql.pmod/pgsql.pike +++ b/lib/modules/Sql.pmod/pgsql.pike @@ -1327,7 +1327,7 @@ private int reconnect() { catch(c->close()); unnamedstatement = 0; termlock = 0; - destruct(c); + catch(destruct(c)); PD("Flushing old cache\n"); foreach(_prepareds;;mapping tp) m_delete(tp,"preparedname"); diff --git a/lib/modules/Sql.pmod/pgsql_util.pmod b/lib/modules/Sql.pmod/pgsql_util.pmod index 82ef4f6907f0891f3a75e1971d9634b62105238b..8959dec8eaf152e440b915f426fd1e341d624028 100644 --- a/lib/modules/Sql.pmod/pgsql_util.pmod +++ b/lib/modules/Sql.pmod/pgsql_util.pmod @@ -189,16 +189,15 @@ class bufcon { final void sendcmd(int mode,void|sql_result portal) { Thread.MutexKey lock=realbuffer->shortmux->lock(); - if(portal) { + if (portal) realbuffer->stashqueue->write(portal); - if (mode == SYNCSEND) { - add(PGSYNC); - realbuffer->stashqueue->write(1); - mode = SENDOUT; // Demote it to prevent an extra SYNC upon stashflush - } + if (mode == SYNCSEND) { + add(PGSYNC); + realbuffer->stashqueue->write(1); + mode = SENDOUT; // Demote it to prevent an extra SYNC upon stashflush } realbuffer->stash->add(this); - PD("%d>Got stash mode %d > %d\n", + PD("%d>Stashed mode %d > %d\n", realbuffer->socket->query_fd(), mode, realbuffer->stashflushmode); if (mode > realbuffer->stashflushmode) realbuffer->stashflushmode = mode; @@ -387,7 +386,6 @@ outer: PD("%d>Skip flush %d Queue %O\n", socket->query_fd(), mode, (string)this); break outer; - case FLUSHLOGSEND: case FLUSHSEND: PD("Flush\n"); add(PGFLUSH);