From: Timo Sirainen Date: Mon, 2 Sep 2013 14:44:39 +0000 (+0300) Subject: master: Fix to previous pre-forking change. X-Git-Tag: 2.2.6~118 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=0de730a46cbc2adb61bda2f5ea097202e0c3c435;p=thirdparty%2Fdovecot%2Fcore.git master: Fix to previous pre-forking change. --- diff --git a/src/master/service-monitor.c b/src/master/service-monitor.c index 43a84caf05..2ccf4726b1 100644 --- a/src/master/service-monitor.c +++ b/src/master/service-monitor.c @@ -360,7 +360,9 @@ static void service_monitor_start_extra_avail(struct service *service) return; } if (service->to_prefork == NULL) { - service->prefork_counter = service->list->fork_counter; + /* ioloop handles timeouts before fds (= SIGCHLD callback), + so let the first timeout handler call simply update the fork + counter and the second one check if we're busy or not. */ service->to_prefork = timeout_add_short(0, service_monitor_prefork_timeout, service); }