Mercurial > dovecot > core-2.2
changeset 9908:e5edd68453fe HEAD
master: When killing idle processes, don't kill the service's last one.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 08 Sep 2009 18:05:50 -0400 |
parents | 3265d6e98c46 |
children | 6d3732cf8b3c |
files | src/master/service-monitor.c |
diffstat | 1 files changed, 4 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- 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 @@ { 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) {