]> git.ipfire.org Git - thirdparty/dovecot/core.git/commitdiff
dns, login-common, stats: Finish service initialization later
authorTimo Sirainen <timo.sirainen@open-xchange.com>
Sat, 9 Nov 2019 08:49:47 +0000 (10:49 +0200)
committeraki.tuomi <aki.tuomi@open-xchange.com>
Thu, 23 Jan 2020 12:01:19 +0000 (12:01 +0000)
This way if there's a crash in the init code, master will start throttling
the service.

src/dns/dns-client.c
src/login-common/main.c
src/stats/main.c

index 7305f68a4d9662045487e900ce165539062d759a..fd39efa4e0edb27353b3c09c79cbcadca07722fb 100644 (file)
@@ -147,11 +147,10 @@ int main(int argc, char *argv[])
        restrict_access_by_env(RESTRICT_ACCESS_FLAG_ALLOW_ROOT, NULL);
        restrict_access_allow_coredumps(TRUE);
 
-       master_service_init_finish(master_service);
-
        /* setup connection list */
        dns_clients = connection_list_init(&dns_client_set, &dns_client_vfuncs);
 
+       master_service_init_finish(master_service);
        master_service_run(master_service, client_connected);
 
        /* disconnect all clients */
index fc860817b5bd923bdf122e870783989acc402174..90956b29f7ad0939130fa5bfc9c9d10052bc1b0f 100644 (file)
@@ -554,9 +554,9 @@ int login_binary_run(const struct login_binary *binary,
                                    &global_other_settings);
 
        main_preinit();
-       master_service_init_finish(master_service);
        main_init(login_socket);
 
+       master_service_init_finish(master_service);
        master_service_run(master_service, client_connected);
        main_deinit();
        pool_unref(&set_pool);
index cecdd31fc8588cb60dc857b18dc5319df5092a98..c635a3582fc56052a7d3d895d40b675b0c9a38ba 100644 (file)
@@ -96,8 +96,8 @@ int main(int argc, char *argv[])
 
        main_preinit();
 
-       master_service_init_finish(master_service);
        main_init();
+       master_service_init_finish(master_service);
        master_service_run(master_service, client_connected);
        main_deinit();
        master_service_deinit(&master_service);