From: Timo Sirainen Date: Thu, 24 Jun 2010 14:47:13 +0000 (+0100) Subject: lib-master: MASTER_SERVICE_FLAG_NO_IDLE_DIE wasn't actually working. X-Git-Tag: 2.0.rc1~92 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f46363f428d8f2784146d36692b21936a48a7006;p=thirdparty%2Fdovecot%2Fcore.git lib-master: MASTER_SERVICE_FLAG_NO_IDLE_DIE wasn't actually working. --HG-- branch : HEAD --- diff --git a/src/lib-master/master-service.c b/src/lib-master/master-service.c index 97395aa7db..09c5ca63af 100644 --- a/src/lib-master/master-service.c +++ b/src/lib-master/master-service.c @@ -58,8 +58,10 @@ static void sig_die(const siginfo_t *si, void *context) 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 | - MASTER_SERVICE_FLAG_NO_IDLE_DIE)) == 0) { + } else if ((service->flags & MASTER_SERVICE_FLAG_NO_IDLE_DIE) != 0) { + /* never die when idling */ + return; + } else if ((service->flags & MASTER_SERVICE_FLAG_STANDALONE) == 0) { /* SIGINT came from master. die only if we're not handling any clients currently. */ if (service->master_status.available_count !=