changeset 11596:11cb0e93ff32 HEAD

lib-master: Added MASTER_SERVICE_FLAG_NO_IDLE_DIE.
author Timo Sirainen <tss@iki.fi>
date Mon, 21 Jun 2010 16:53:33 +0100
parents 585318bf974d
children 01c148824d52
files src/lib-master/master-service.c src/lib-master/master-service.h
diffstat 2 files changed, 5 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-master/master-service.c	Mon Jun 21 16:48:45 2010 +0100
+++ b/src/lib-master/master-service.c	Mon Jun 21 16:53:33 2010 +0100
@@ -58,7 +58,8 @@
 			  si->si_signo, dec2str(si->si_pid),
 			  dec2str(si->si_uid),
 			  lib_signal_code_to_str(si->si_signo, si->si_code));
-	} else if ((service->flags & MASTER_SERVICE_FLAG_STANDALONE) == 0) {
+	} else if ((service->flags & (MASTER_SERVICE_FLAG_STANDALONE |
+				      MASTER_SERVICE_FLAG_NO_IDLE_DIE)) == 0) {
 		/* SIGINT came from master. die only if we're not handling
 		   any clients currently. */
 		if (service->master_status.available_count !=
--- a/src/lib-master/master-service.h	Mon Jun 21 16:48:45 2010 +0100
+++ b/src/lib-master/master-service.h	Mon Jun 21 16:53:33 2010 +0100
@@ -17,7 +17,9 @@
 	/* Don't read settings, but use whatever is in environment */
 	MASTER_SERVICE_FLAG_NO_CONFIG_SETTINGS	= 0x10,
 	/* Use MASTER_LOGIN_NOTIFY_FD to track login overflow state */
-	MASTER_SERVICE_FLAG_TRACK_LOGIN_STATE	= 0x40
+	MASTER_SERVICE_FLAG_TRACK_LOGIN_STATE	= 0x40,
+	/* If master sends SIGINT, don't die even if we don't have clients */
+	MASTER_SERVICE_FLAG_NO_IDLE_DIE		= 0x80
 };
 
 struct master_service_connection {