From: Timo Sirainen Date: Wed, 26 Oct 2016 15:06:36 +0000 (+0300) Subject: *-login: Removed enforcing maximum calculated fd limit. X-Git-Tag: 2.2.27~268 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7d33533ce3aa5a373033451896ccdfc1a01bdcf9;p=thirdparty%2Fdovecot%2Fcore.git *-login: Removed enforcing maximum calculated fd limit. Just use the regular ulimit. Login process has become complicated enough that counting the exact fd size isn't so easy anymore. Also apparently this low fd limit is causing errors with new Linux kernels: pop3-login: Error: fd_send(pop3, 18) failed: Too many references: cannot splice --- diff --git a/src/login-common/main.c b/src/login-common/main.c index 8c6734b451..d0e2e4c3eb 100644 --- a/src/login-common/main.c +++ b/src/login-common/main.c @@ -346,11 +346,14 @@ static void main_preinit(void) - 1 for login proxy - 2 for client-side ssl proxy - 2 for server-side ssl proxy (with login proxy) + + However, login process nowadays supports plugins, there are rawlogs + and so on. Don't enforce the fd limit anymore, but use this value + for optimizing the ioloop's fd table size. */ max_fds = MASTER_LISTEN_FD_FIRST + 16 + master_service_get_socket_count(master_service) + master_service_get_client_limit(master_service)*6; - restrict_fd_limit(max_fds); io_loop_set_max_fd_count(current_ioloop, max_fds); i_assert(strcmp(global_ssl_settings->ssl, "no") == 0 ||