dovecot-2.2: lib-master: If idle-die callback returns FALSE, not...

dovecot at dovecot.org dovecot at dovecot.org
Mon Aug 17 09:57:13 UTC 2015


details:   http://hg.dovecot.org/dovecot-2.2/rev/ec912a6039f5
changeset: 18940:ec912a6039f5
user:      Timo Sirainen <tss at iki.fi>
date:      Mon Aug 17 12:53:52 2015 +0300
description:
lib-master: If idle-die callback returns FALSE, notify master that we don't want to die.
This avoids the master thinking that we're ignoring its idle-kill signal and
logging an error.

diffstat:

 src/lib-master/master-service.c |  8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diffs (26 lines):

diff -r 10df63e74ed6 -r ec912a6039f5 src/lib-master/master-service.c
--- a/src/lib-master/master-service.c	Mon Aug 17 12:51:43 2015 +0300
+++ b/src/lib-master/master-service.c	Mon Aug 17 12:53:52 2015 +0300
@@ -45,6 +45,8 @@
 
 static void master_service_io_listeners_close(struct master_service *service);
 static void master_service_refresh_login_state(struct master_service *service);
+static void
+master_status_send(struct master_service *service, bool important_update);
 
 const char *master_service_getopt_string(void)
 {
@@ -73,8 +75,12 @@
 			return;
 
 		if (service->idle_die_callback != NULL &&
-		    !service->idle_die_callback())
+		    !service->idle_die_callback()) {
+			/* we don't want to die - send a notification to master
+			   so it doesn't think we're ignoring it completely. */
+			master_status_send(service, FALSE);
 			return;
+		}
 	}
 
 	service->killed = TRUE;


More information about the dovecot-cvs mailing list