changeset 4465:ac58b71b88d0 HEAD

Try to handle failures better.
author Timo Sirainen <tss@iki.fi>
date Sat, 01 Jul 2006 22:15:50 +0300
parents b7eaddfbcaad
children 50861235f77f
files src/lib-sql/driver-pgsql.c
diffstat 1 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-sql/driver-pgsql.c	Sat Jul 01 21:44:56 2006 +0300
+++ b/src/lib-sql/driver-pgsql.c	Sat Jul 01 22:15:50 2006 +0300
@@ -216,14 +216,11 @@
 	struct pgsql_db *db = context;
 
 	do {
-		if (!PQconsumeInput(db->pg)) {
-			db->connected = FALSE;
+		if (!PQconsumeInput(db->pg))
 			break;
 
-		}
 		if (PQisBusy(db->pg))
 			return;
-
 	} while (PQgetResult(db->pg) != NULL);
 
 	io_remove(&db->io);
@@ -275,6 +272,11 @@
 	}
 	if (free_result)
 		driver_pgsql_result_free(&result->api);
+
+	if (PQstatus(db->pg) == CONNECTION_BAD) {
+		/* disconnected */
+		driver_pgsql_close(db);
+	}
 }
 
 static void get_result(void *context)