dovecot-2.2: master: If log process crashes, restart it immediat...

dovecot at dovecot.org dovecot at dovecot.org
Fri Oct 3 13:04:57 UTC 2014


details:   http://hg.dovecot.org/dovecot-2.2/rev/026cf7ee272c
changeset: 17865:026cf7ee272c
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Oct 03 16:04:06 2014 +0300
description:
master: If log process crashes, restart it immediately.
The regular service_monitor_listen_start() doesn't work for it, because the
log fds aren't in the listeners.

diffstat:

 src/master/service-monitor.c |  10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)

diffs (21 lines):

diff -r 01ba94a2d4c5 -r 026cf7ee272c src/master/service-monitor.c
--- a/src/master/service-monitor.c	Thu Oct 02 19:43:25 2014 +0300
+++ b/src/master/service-monitor.c	Fri Oct 03 16:04:06 2014 +0300
@@ -656,8 +656,16 @@
 			service_monitor_start_extra_avail(service);
 			/* if there are no longer listening processes,
 			   start listening for more */
-			if (service->to_throttle == NULL)
+			if (service->to_throttle != NULL) {
+				/* throttling */
+			} else if (service == service->list->log &&
+				   service->process_count == 0) {
+				/* log service must always be running */
+				if (service_process_create(service) == NULL)
+					service_monitor_throttle(service);
+			} else {
 				service_monitor_listen_start(service);
+			}
 		}
 		service_list_unref(service->list);
 	}


More information about the dovecot-cvs mailing list