From 09bf2d3a07b014f3e871079f3ee0614cd781645c Mon Sep 17 00:00:00 2001 From: Timo Sirainen Date: Tue, 20 Jan 2009 15:04:25 -0500 Subject: [PATCH] If all login processes are in use and we can't create a new one, log a warning. --HG-- branch : HEAD --- src/master/login-process.c | 8 ++++++++ src/master/login-process.h | 1 + 2 files changed, 9 insertions(+) diff --git a/src/master/login-process.c b/src/master/login-process.c index c6e88f1fac..bd7608e9f2 100644 --- a/src/master/login-process.c +++ b/src/master/login-process.c @@ -23,6 +23,8 @@ #include #include +#define LOGIN_LIMIT_WARNING_MIN_INTERVAL (60*5) + struct login_process { struct child_process process; @@ -801,6 +803,12 @@ static int login_group_start_missings(struct login_group *group) if (group->oldest_prelogin_process != NULL && group->oldest_prelogin_process->initialized) login_process_destroy(group->oldest_prelogin_process); + else if (ioloop_time - group->last_limit_warning > + LOGIN_LIMIT_WARNING_MIN_INTERVAL) { + group->last_limit_warning = ioloop_time; + i_warning("All login processes are in use. You may " + "need to increase login_max_processes_count"); + } } /* we want to respond fast when multiple clients are connecting diff --git a/src/master/login-process.h b/src/master/login-process.h index c650feb8af..5a25f5a44c 100644 --- a/src/master/login-process.h +++ b/src/master/login-process.h @@ -13,6 +13,7 @@ struct login_group { unsigned int processes; unsigned int listening_processes; unsigned int wanted_processes_count; + time_t last_limit_warning; /* if login_process_per_connection=yes this contains the list of processes that are in LOGIN_STATE_FULL_PRELOGINS state */ -- 2.47.3