From 165dc6fbced452e0b28ef2725575c1e4208d56c7 Mon Sep 17 00:00:00 2001 From: "Stephen R. van den Berg" <srb@cuci.nl> Date: Tue, 23 Mar 2010 19:15:42 +0100 Subject: [PATCH] Properly fix authentication errors. Rev: lib/modules/Sql.pmod/pgsql.pike:1.79 --- lib/modules/Sql.pmod/pgsql.pike | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/modules/Sql.pmod/pgsql.pike b/lib/modules/Sql.pmod/pgsql.pike index b790cd3cf6..e7b501092b 100644 --- a/lib/modules/Sql.pmod/pgsql.pike +++ b/lib/modules/Sql.pmod/pgsql.pike @@ -1034,7 +1034,7 @@ void destroy() { close(); } -private void reconnect(void|int force) +private int reconnect(void|int force) { Thread.MutexKey connectmtxkey; if(_c) { reconnected++; @@ -1075,12 +1075,19 @@ private void reconnect(void|int force) plugbuf[0]=_c.plugint32(len); _c.write(plugbuf); PD("%O\n",plugbuf); - _decodemsg(readyforquery); + { mixed err=catch(_decodemsg(readyforquery)); + if(err) + if(force) + return 0; + else + throw(err); + } PD("%O\n",_runtimeparameter); if(force) { lastmessage+=({sprintf("Reconnected to database %s",host_info())}); runcallback(backendpid,"_reconnect",""); } + return 1; } //! @decl void reload() -- GitLab