#include <syslog.h>
#include <sys/stat.h>
+#define LOGIN_LIMIT_WARNING_MIN_INTERVAL (60*5)
+
struct login_process {
struct child_process process;
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
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 */