[prev in list] [next in list] [prev in thread] [next in thread] 

List:       dovecot-cvs
Subject:    dovecot-2.2: imap: die-callback didn't set log prefixes correctl...
From:       dovecot () dovecot ! org (dovecot at dovecot ! org)
Date:       2014-09-25 16:43:50
Message-ID: hg.abc434a32140.1411663430.6920021320469856403 () talvi
[Download RAW message or body]

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 {

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic