From a54fa00087ba926a3d966a8449d8d7579e89911c Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Mon, 12 Jan 2009 12:05:19 -0500 Subject: [PATCH] psql: Don't give errors with epoll if db connection gets closed. --HG-- branch : HEAD --- src/lib-sql/driver-pgsql.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib-sql/driver-pgsql.c b/src/lib-sql/driver-pgsql.c index d0c0825453..e31b7979b2 100644 --- a/src/lib-sql/driver-pgsql.c +++ b/src/lib-sql/driver-pgsql.c @@ -85,13 +85,17 @@ static void result_finish(struct pgsql_result *result); static void driver_pgsql_close(struct pgsql_db *db) { - if (db->io != NULL) - io_remove(&db->io); db->io_dir = 0; PQfinish(db->pg); db->pg = NULL; + if (db->io != NULL) { + /* The fd may be closed before call to PQfinish() already, + so use io_remove_closed(). */ + io_remove_closed(&db->io); + } + db->connecting = FALSE; db->connected = FALSE; db->querying = FALSE; -- 2.47.3