]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
*-login: Removed enforcing maximum calculated fd limit.
authorTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 26 Oct 2016 15:06:36 +0000 (18:06 +0300)
committerTimo Sirainen <timo.sirainen@dovecot.fi>
Wed, 26 Oct 2016 21:47:51 +0000 (00:47 +0300)
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

src/login-common/main.c

index 8c6734b451da54fbec23c20d5e0d7fb77e1424aa..d0e2e4c3ebc3da75951847e6f9bb9a73f097b2e5 100644 (file)
@@ -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 ||