Mercurial > dovecot > core-2.2
changeset 18698:b19ca4214e63
pgsql: Don't crash at disconnect/deinit if there's an unfinished query.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Fri, 15 May 2015 13:27:29 +0300 |
parents | db41043041cb |
children | 6a40cb15e48f |
files | src/lib-sql/driver-pgsql.c |
diffstat | 1 files changed, 5 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- 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);