From: Aki Tuomi Date: Tue, 5 Sep 2023 11:17:24 +0000 (+0300) Subject: lib-master: Add macro for MASTER_SERVICE_SOCKET_COUNT_ENV X-Git-Tag: 2.4.0~2596 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=14997da1ebfad8c513f165125ca354e6785a20be;p=thirdparty%2Fdovecot%2Fcore.git lib-master: Add macro for MASTER_SERVICE_SOCKET_COUNT_ENV --- diff --git a/src/lib-master/master-interface.h b/src/lib-master/master-interface.h index f071bb2155..bb2fa8a71e 100644 --- a/src/lib-master/master-interface.h +++ b/src/lib-master/master-interface.h @@ -78,6 +78,11 @@ enum master_login_state { if dovecot was started with -p parameter. */ #define MASTER_SSL_KEY_PASSWORD_ENV "SSL_KEY_PASSWORD" +/* getenv(MASTER_SERVICE_SOCKET_COUNT_ENV) returns number of listener sockets + this process receives, starting from MASTER_LISTEN_FD_FIRST. +*/ +#define MASTER_SERVICE_SOCKET_COUNT_ENV "SOCKET_COUNT" + /* getenv(DOVECOT_PRESERVE_ENVS_ENV) returns a space separated list of environments that should be preserved. */ #define DOVECOT_PRESERVE_ENVS_ENV "DOVECOT_PRESERVE_ENVS" diff --git a/src/lib-master/master-service.c b/src/lib-master/master-service.c index 5d835d605a..8c2304bdc3 100644 --- a/src/lib-master/master-service.c +++ b/src/lib-master/master-service.c @@ -443,7 +443,7 @@ master_service_init(const char *name, enum master_service_flags flags, #ifdef DEBUG if (getenv("GDB") == NULL && (flags & MASTER_SERVICE_FLAG_STANDALONE) == 0) { - value = getenv("SOCKET_COUNT"); + value = getenv(MASTER_SERVICE_SOCKET_COUNT_ENV); if (value == NULL || str_to_uint(value, &count) < 0) count = 0; fd_debug_verify_leaks(MASTER_LISTEN_FD_FIRST + count, 1024); @@ -534,9 +534,9 @@ master_service_init(const char *name, enum master_service_flags flags, if ((flags & MASTER_SERVICE_FLAG_STANDALONE) == 0) { service->version_string = getenv(MASTER_DOVECOT_VERSION_ENV); /* listener configuration */ - value = getenv("SOCKET_COUNT"); + value = getenv(MASTER_SERVICE_SOCKET_COUNT_ENV); if (value == NULL || str_to_uint(value, &service->socket_count) < 0) - i_fatal("Invalid SOCKET_COUNT environment"); + i_fatal("Invalid "MASTER_SERVICE_SOCKET_COUNT_ENV" environment"); T_BEGIN { master_service_init_socket_listeners(service); } T_END; diff --git a/src/master/service-process.c b/src/master/service-process.c index 43d6cf808a..7283811f98 100644 --- a/src/master/service-process.c +++ b/src/master/service-process.c @@ -243,7 +243,7 @@ service_dup_fds(struct service *service) i_fatal("service(%s): dup2s failed", service->set->name); i_assert(fd == MASTER_LISTEN_FD_FIRST + (int)socket_listener_count); - env_put("SOCKET_COUNT", dec2str(socket_listener_count)); + env_put(MASTER_SERVICE_SOCKET_COUNT_ENV, dec2str(socket_listener_count)); } static void