dovecot-2.2: pgsql: Don't crash at disconnect/deinit if there's ...
dovecot at dovecot.org
dovecot at dovecot.org
Fri May 15 10:29:30 UTC 2015
details: http://hg.dovecot.org/dovecot-2.2/rev/b19ca4214e63
changeset: 18698:b19ca4214e63
user: Timo Sirainen <tss at iki.fi>
date: Fri May 15 13:27:29 2015 +0300
description:
pgsql: Don't crash at disconnect/deinit if there's an unfinished query.
diffstat:
src/lib-sql/driver-pgsql.c | 12 +++++-------
1 files changed, 5 insertions(+), 7 deletions(-)
diffs (29 lines):
diff -r db41043041cb -r b19ca4214e63 src/lib-sql/driver-pgsql.c
--- a/src/lib-sql/driver-pgsql.c Fri May 15 13:07:27 2015 +0300
+++ b/src/lib-sql/driver-pgsql.c Fri May 15 13:27:29 2015 +0300
@@ -245,8 +245,10 @@
{
struct pgsql_db *db = (struct pgsql_db *)_db;
- if (db->cur_result != NULL && db->cur_result->to != NULL)
- result_finish(db->cur_result);
+ if (db->cur_result != NULL && db->cur_result->to != NULL) {
+ driver_pgsql_stop_io(db);
+ result_finish(db->cur_result);
+ }
_db->no_reconnect = TRUE;
driver_pgsql_close(db);
@@ -276,11 +278,7 @@
{
struct pgsql_db *db = (struct pgsql_db *)_db;
- if (db->cur_result != NULL && db->cur_result->to != NULL)
- result_finish(db->cur_result);
-
- _db->no_reconnect = TRUE;
- driver_pgsql_close(db);
+ driver_pgsql_disconnect(_db);
i_free(db->host);
i_free(db->error);
i_free(db->connect_string);
More information about the dovecot-cvs
mailing list