From: Aki Tuomi Date: Thu, 29 Jun 2023 10:40:24 +0000 (+0300) Subject: lib-sql: pgsql - Use orig_ioloop instead of local variable X-Git-Tag: 2.3.21~51 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2340275fade3af92792cd4303b8fc5945ed9d7c7;p=thirdparty%2Fdovecot%2Fcore.git lib-sql: pgsql - Use orig_ioloop instead of local variable orig_ioloop is used later, leaving it NULL here causes problems when timeout is added by sqlpool. Broken in 8981a973987c237552e46b68075b64caa8c1f5bb --- diff --git a/src/lib-sql/driver-pgsql.c b/src/lib-sql/driver-pgsql.c index e4b0c63f67..63188c062b 100644 --- a/src/lib-sql/driver-pgsql.c +++ b/src/lib-sql/driver-pgsql.c @@ -1272,13 +1272,13 @@ static void driver_pgsql_wait(struct sql_db *_db) if (!driver_pgsql_have_work(db)) return; - struct ioloop *prev_ioloop = current_ioloop; + db->orig_ioloop = current_ioloop; db->ioloop = io_loop_create(); db->io = io_loop_move_io(&db->io); while (driver_pgsql_have_work(db)) io_loop_run(db->ioloop); - io_loop_set_current(prev_ioloop); + io_loop_set_current(db->orig_ioloop); db->io = io_loop_move_io(&db->io); io_loop_set_current(db->ioloop); io_loop_destroy(&db->ioloop);