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 !=
/* 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 {