changeset 2334:eb9bd211e3ac HEAD

Fixed reconnecting to PostgreSQL.
author Timo Sirainen <tss@iki.fi>
date Sun, 18 Jul 2004 15:43:05 +0300
parents c795490b23d2
children 891990251008
files src/auth/db-pgsql.c
diffstat 1 files changed, 9 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/src/auth/db-pgsql.c	Sun Jul 18 15:40:57 2004 +0300
+++ b/src/auth/db-pgsql.c	Sun Jul 18 15:43:05 2004 +0300
@@ -91,13 +91,15 @@
 	if (conn->connected)
 		return TRUE;
 
-	if (conn->pg == NULL) {
-		conn->pg = PQconnectdb(conn->set.connect);
-		if (PQstatus(conn->pg) != CONNECTION_OK) {
-			i_error("PGSQL: Can't connect to database %s",
-				conn->set.connect);
-			return FALSE;
-		}
+	i_assert(conn->pg == NULL);
+
+	conn->pg = PQconnectdb(conn->set.connect);
+	if (PQstatus(conn->pg) != CONNECTION_OK) {
+		i_error("PGSQL: Can't connect to database %s",
+			conn->set.connect);
+		PQfinish(conn->pg);
+		conn->pg = NULL;
+		return FALSE;
 	}
 
 	conn->connected = TRUE;