]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
master: Check process_limit for auth dest processes. Log when reaching limit.
authorTimo Sirainen <tss@iki.fi>
Fri, 4 Sep 2009 19:00:37 +0000 (15:00 -0400)
committerTimo Sirainen <tss@iki.fi>
Fri, 4 Sep 2009 19:00:37 +0000 (15:00 -0400)
--HG--
branch : HEAD

src/master/service-monitor.c
src/master/service-process.c

index 7638f6c9ce781788e4d5ccd1b2974a28c2ecaf6e..4704b30446918fd61094e9f22a42585a510414b1 100644 (file)
@@ -113,6 +113,8 @@ static void service_accept(struct service *service)
        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;
index 4e09b4d40f5e39c2c0b2f9df1b839570a0f88067..e5fddd9c9cc82068b3b09f225241642bdedba11d 100644 (file)
@@ -455,6 +455,11 @@ service_process_create(struct service *service, const char *const *auth_args,
                /* 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: