dovecot-2.0: master: When killing idle processes, don't kill the...

dovecot at dovecot.org dovecot at dovecot.org
Wed Sep 9 01:05:55 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/e5edd68453fe
changeset: 9908:e5edd68453fe
user:      Timo Sirainen <tss at iki.fi>
date:      Tue Sep 08 18:05:50 2009 -0400
description:
master: When killing idle processes, don't kill the service's last one.

diffstat:

1 file changed, 4 insertions(+), 2 deletions(-)
src/master/service-monitor.c |    6 ++++--

diffs (16 lines):

diff -r 3265d6e98c46 -r e5edd68453fe src/master/service-monitor.c
--- a/src/master/service-monitor.c	Tue Sep 08 18:03:26 2009 -0400
+++ b/src/master/service-monitor.c	Tue Sep 08 18:05:50 2009 -0400
@@ -25,8 +25,10 @@ static void service_process_kill_idle(st
 {
 	struct service *service = process->service;
 
-	if (service->process_avail <= service->set->process_min_avail) {
-		/* we don't have any extra idling processes */
+	if (service->process_avail <= service->set->process_min_avail ||
+	    service->process_avail == 1) {
+		/* we don't have any extra idling processes. and if there's
+		   no minimum limit, never kill the last process anyway */
 		timeout_remove(&process->to_idle);
 	} else {
 		if (kill(process->pid, SIGINT) < 0 && errno != ESRCH) {


More information about the dovecot-cvs mailing list