dovecot-2.2: imap: die-callback didn't set log prefixes correctl...

dovecot at dovecot.org dovecot at dovecot.org
Thu Sep 25 16:43:50 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/abc434a32140
changeset: 17843:abc434a32140
user:      Timo Sirainen <tss at iki.fi>
date:      Thu Sep 25 19:43:28 2014 +0300
description:
imap: die-callback didn't set log prefixes correctly for client handlers
Calling mail_storage_service_io_activate_user() unfortunately doesn't set
the ioloop context itself, so timeouts weren't inheriting it. It seemed a
bit difficult to change this, so for now I just moved the call to the
timeout handler.

diffstat:

 src/imap/main.c |  4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diffs (29 lines):

diff -r 6ed1eee94d31 -r abc434a32140 src/imap/main.c
--- a/src/imap/main.c	Thu Sep 25 15:50:03 2014 +0300
+++ b/src/imap/main.c	Thu Sep 25 19:43:28 2014 +0300
@@ -101,7 +101,9 @@
 		return;
 
 	client_send_line(client, "* BYE Server shutting down.");
+	mail_storage_service_io_activate_user(client->service_user);
 	client_destroy(client, "Server shutting down.");
+	mail_storage_service_io_deactivate(storage_service);
 }
 
 static void imap_die(void)
@@ -114,7 +116,6 @@
 	for (client = imap_clients; client != NULL; client = next) {
 		next = client->next;
 
-		mail_storage_service_io_activate_user(client->service_user);
 		last_io = I_MAX(client->last_input, client->last_output);
 		if (last_io <= stop_timestamp)
 			client_kill_idle(client);
@@ -125,7 +126,6 @@
 						      client_kill_idle, client);
 		}
 	}
-	mail_storage_service_io_deactivate(storage_service);
 }
 
 struct client_input {


More information about the dovecot-cvs mailing list