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) {