dovecot-2.0: master: Check process_limit for auth dest processes...

dovecot at dovecot.org dovecot at dovecot.org
Fri Sep 4 22:00:44 EEST 2009


details:   http://hg.dovecot.org/dovecot-2.0/rev/8a38b5b82a1d
changeset: 9871:8a38b5b82a1d
user:      Timo Sirainen <tss at iki.fi>
date:      Fri Sep 04 15:00:37 2009 -0400
description:
master: Check process_limit for auth dest processes. Log when reaching limit.

diffstat:

2 files changed, 7 insertions(+)
src/master/service-monitor.c |    2 ++
src/master/service-process.c |    5 +++++

diffs (27 lines):

diff -r 1cdee825e414 -r 8a38b5b82a1d src/master/service-monitor.c
--- a/src/master/service-monitor.c	Fri Sep 04 14:58:46 2009 -0400
+++ b/src/master/service-monitor.c	Fri Sep 04 15:00:37 2009 -0400
@@ -113,6 +113,8 @@ static void service_accept(struct servic
 	if (service->process_count == service->process_limit) {
 		/* we've reached our limits, new connections will have to
 		   wait until there are more processes available */
+		i_warning("service(%s): process_limit reached, "
+			  "connections are being dropped", service->set->name);
 		service->listen_pending = TRUE;
                 service_monitor_listen_stop(service);
 		return;
diff -r 1cdee825e414 -r 8a38b5b82a1d src/master/service-process.c
--- a/src/master/service-process.c	Fri Sep 04 14:58:46 2009 -0400
+++ b/src/master/service-process.c	Fri Sep 04 15:00:37 2009 -0400
@@ -455,6 +455,11 @@ service_process_create(struct service *s
 		/* probably throttling service, don't create new processes */
 		return NULL;
 	}
+	if (service->process_count >= service->process_limit) {
+		i_warning("service(%s): process_limit reached, "
+			  "connections are being dropped", service->set->name);
+		return NULL;
+	}
 
 	switch (service->type) {
 	case SERVICE_TYPE_AUTH_SOURCE:


More information about the dovecot-cvs mailing list