dovecot-2.2: lib-auth: Previous changes didn't set the current i...
dovecot at dovecot.org
dovecot at dovecot.org
Mon Aug 5 22:16:15 EEST 2013
details: http://hg.dovecot.org/dovecot-2.2/rev/19719ea2cddb
changeset: 16656:19719ea2cddb
user: Timo Sirainen <tss at iki.fi>
date: Mon Aug 05 22:15:08 2013 +0300
description:
lib-auth: Previous changes didn't set the current ioloop correctly, causing problems.
diffstat:
src/lib-auth/auth-master.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diffs (39 lines):
diff -r 647ef2264398 -r 19719ea2cddb src/lib-auth/auth-master.c
--- a/src/lib-auth/auth-master.c Mon Aug 05 22:13:28 2013 +0300
+++ b/src/lib-auth/auth-master.c Mon Aug 05 22:15:08 2013 +0300
@@ -287,7 +287,9 @@
while ((line = i_stream_next_line(conn->input)) != NULL) {
T_BEGIN {
+ io_loop_set_current(conn->prev_ioloop);
ret = auth_handle_line(conn, line);
+ io_loop_set_current(conn->ioloop);
} T_END;
if (!ret)
return;
@@ -369,6 +371,7 @@
if (conn->prev_ioloop == NULL)
auth_connection_close(conn);
else {
+ i_assert(conn->to == NULL);
conn->to = timeout_add(1000*AUTH_MASTER_IDLE_SECS,
auth_idle_timeout, conn);
}
@@ -682,6 +685,7 @@
if (auth_master_run_cmd_pre(conn, str_c(str)) < 0)
ctx->failed = TRUE;
+ io_loop_set_current(conn->prev_ioloop);
conn->prefix = DEFAULT_USERDB_LOOKUP_PREFIX;
return ctx;
}
@@ -701,7 +705,9 @@
} T_END;
} else {
/* wait for more data */
+ io_loop_set_current(ctx->conn->ioloop);
io_loop_run(ctx->conn->ioloop);
+ io_loop_set_current(ctx->conn->prev_ioloop);
}
if (ctx->finished || ctx->failed)
More information about the dovecot-cvs
mailing list