From: Timo Sirainen Date: Thu, 6 Sep 2018 14:04:00 +0000 (+0300) Subject: global: Replace MASTER_SERVICE_FLAG_SEND_STATS with _DONT_SEND_STATS X-Git-Tag: 2.3.9~1414 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a40b3551283b6d805796dbd3a9b980d331f4427d;p=thirdparty%2Fdovecot%2Fcore.git global: Replace MASTER_SERVICE_FLAG_SEND_STATS with _DONT_SEND_STATS Most services want to send statistics, so it's better to reverse the flag behavior. Mark the few services that don't want stats with MASTER_SERVICE_FLAG_DONT_SEND_STATS. --- diff --git a/src/anvil/main.c b/src/anvil/main.c index becfbd4acc..47425d217b 100644 --- a/src/anvil/main.c +++ b/src/anvil/main.c @@ -53,6 +53,7 @@ log_fdpass_input(void *context ATTR_UNUSED) int main(int argc, char *argv[]) { const enum master_service_flags service_flags = + MASTER_SERVICE_FLAG_DONT_SEND_STATS | MASTER_SERVICE_FLAG_UPDATE_PROCTITLE; const char *error; diff --git a/src/config/doveconf.c b/src/config/doveconf.c index bf1670a103..9eea18a3e5 100644 --- a/src/config/doveconf.c +++ b/src/config/doveconf.c @@ -862,6 +862,7 @@ static void failure_exit_callback(int *status) int main(int argc, char *argv[]) { enum master_service_flags master_service_flags = + MASTER_SERVICE_FLAG_DONT_SEND_STATS | MASTER_SERVICE_FLAG_STANDALONE | MASTER_SERVICE_FLAG_NO_INIT_DATASTACK_FRAME; enum config_dump_scope scope = CONFIG_DUMP_SCOPE_ALL; diff --git a/src/config/main.c b/src/config/main.c index 14caa51c9b..d3d66db37c 100644 --- a/src/config/main.c +++ b/src/config/main.c @@ -16,9 +16,12 @@ static void client_connected(struct master_service_connection *conn) int main(int argc, char *argv[]) { + const enum master_service_flags service_flags = + MASTER_SERVICE_FLAG_DONT_SEND_STATS; const char *path, *error; - master_service = master_service_init("config", 0, &argc, &argv, ""); + master_service = master_service_init("config", service_flags, + &argc, &argv, ""); if (master_getopt(master_service) > 0) return FATAL_DEFAULT; master_service_init_log(master_service, "config: "); diff --git a/src/dns/dns-client.c b/src/dns/dns-client.c index d069503fc0..82df442c4b 100644 --- a/src/dns/dns-client.c +++ b/src/dns/dns-client.c @@ -138,7 +138,7 @@ static void client_connected(struct master_service_connection *master_conn) int main(int argc, char *argv[]) { - master_service = master_service_init("dns-client", MASTER_SERVICE_FLAG_SEND_STATS, + master_service = master_service_init("dns-client", 0, &argc, &argv, ""); if (master_getopt(master_service) > 0) return FATAL_DEFAULT; diff --git a/src/doveadm/main.c b/src/doveadm/main.c index e73e51b27b..d42f46b25f 100644 --- a/src/doveadm/main.c +++ b/src/doveadm/main.c @@ -108,7 +108,6 @@ int main(int argc, char *argv[]) NULL }; enum master_service_flags service_flags = - MASTER_SERVICE_FLAG_SEND_STATS | MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN; struct master_service_settings_input input; struct master_service_settings_output output; diff --git a/src/imap/main.c b/src/imap/main.c index 9b5e435ea0..b275ae9c89 100644 --- a/src/imap/main.c +++ b/src/imap/main.c @@ -420,8 +420,7 @@ int main(int argc, char *argv[]) NULL }; struct master_login_settings login_set; - enum master_service_flags service_flags = - MASTER_SERVICE_FLAG_SEND_STATS; + enum master_service_flags service_flags = 0; enum mail_storage_service_flags storage_service_flags = /* * We include MAIL_STORAGE_SERVICE_FLAG_NO_NAMESPACES so diff --git a/src/indexer/indexer-worker.c b/src/indexer/indexer-worker.c index 50645b761e..09b56b76ef 100644 --- a/src/indexer/indexer-worker.c +++ b/src/indexer/indexer-worker.c @@ -46,7 +46,6 @@ static void drop_privileges(void) int main(int argc, char *argv[]) { enum master_service_flags service_flags = - MASTER_SERVICE_FLAG_SEND_STATS | MASTER_SERVICE_FLAG_KEEP_CONFIG_OPEN; enum mail_storage_service_flags storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP | diff --git a/src/lib-master/master-service-settings.c b/src/lib-master/master-service-settings.c index cde5b5aa17..c2e79af66f 100644 --- a/src/lib-master/master-service-settings.c +++ b/src/lib-master/master-service-settings.c @@ -768,7 +768,7 @@ int master_service_settings_read(struct master_service *service, /* running standalone. we want to ignore plugin versions. */ service->version_string = NULL; } - if ((service->flags & MASTER_SERVICE_FLAG_SEND_STATS) != 0 && + if ((service->flags & MASTER_SERVICE_FLAG_DONT_SEND_STATS) == 0 && (service->flags & MASTER_SERVICE_FLAG_STANDALONE) != 0) { /* When running standalone (e.g. doveadm) try to connect to the stats socket, but don't log an error if it's not running. diff --git a/src/lib-master/master-service.c b/src/lib-master/master-service.c index 12636baf83..3de11fa1b7 100644 --- a/src/lib-master/master-service.c +++ b/src/lib-master/master-service.c @@ -338,7 +338,7 @@ master_service_init(const char *name, enum master_service_flags flags, are dropped. */ master_service_config_socket_try_open(service); } - if ((flags & MASTER_SERVICE_FLAG_SEND_STATS) != 0) { + if ((flags & MASTER_SERVICE_FLAG_DONT_SEND_STATS) == 0) { /* Initialize stats-client early so it can see all events. */ value = getenv(DOVECOT_STATS_WRITER_SOCKET_PATH); if (value != NULL) diff --git a/src/lib-master/master-service.h b/src/lib-master/master-service.h index eafb0d51ba..5f3aa066c0 100644 --- a/src/lib-master/master-service.h +++ b/src/lib-master/master-service.h @@ -37,9 +37,8 @@ enum master_service_flags { master_service_init_finish(). By default this is done to make sure initialization doesn't unnecessarily use up memory in data stack. */ MASTER_SERVICE_FLAG_NO_INIT_DATASTACK_FRAME = 0x800, - /* This process supports sending statistics to the stats process. - Connect to it at startup. */ - MASTER_SERVICE_FLAG_SEND_STATS = 0x1000 + /* Don't connect at startup to the stats process. */ + MASTER_SERVICE_FLAG_DONT_SEND_STATS = 0x1000 }; struct master_service_connection_proxy { diff --git a/src/lmtp/main.c b/src/lmtp/main.c index f9800fbe4e..b6fac2902d 100644 --- a/src/lmtp/main.c +++ b/src/lmtp/main.c @@ -110,7 +110,6 @@ int main(int argc, char *argv[]) NULL }; enum master_service_flags service_flags = - MASTER_SERVICE_FLAG_SEND_STATS | MASTER_SERVICE_FLAG_USE_SSL_SETTINGS; enum mail_storage_service_flags storage_service_flags = MAIL_STORAGE_SERVICE_FLAG_USERDB_LOOKUP | diff --git a/src/log/main.c b/src/log/main.c index 8e6e5b875a..98c698deba 100644 --- a/src/log/main.c +++ b/src/log/main.c @@ -60,9 +60,12 @@ static void client_connected(struct master_service_connection *conn) int main(int argc, char *argv[]) { + const enum master_service_flags service_flags = + MASTER_SERVICE_FLAG_DONT_SEND_STATS; const char *error; - master_service = master_service_init("log", 0, &argc, &argv, ""); + master_service = master_service_init("log", service_flags, + &argc, &argv, ""); /* use log prefix and log to stderr until we've configured the real logging */ diff --git a/src/master/main.c b/src/master/main.c index 19f06e1c33..869a2b612f 100644 --- a/src/master/main.c +++ b/src/master/main.c @@ -766,6 +766,7 @@ int main(int argc, char *argv[]) } master_service = master_service_init(MASTER_SERVICE_NAME, MASTER_SERVICE_FLAG_STANDALONE | + MASTER_SERVICE_FLAG_DONT_SEND_STATS | MASTER_SERVICE_FLAG_DONT_LOG_TO_STDERR | MASTER_SERVICE_FLAG_NO_INIT_DATASTACK_FRAME, &argc, &argv, "+Fanp"); diff --git a/src/old-stats/main.c b/src/old-stats/main.c index 34bd8efc13..78cf5a2b9e 100644 --- a/src/old-stats/main.c +++ b/src/old-stats/main.c @@ -49,6 +49,7 @@ int main(int argc, char *argv[]) NULL }; const enum master_service_flags service_flags = + MASTER_SERVICE_FLAG_DONT_SEND_STATS | MASTER_SERVICE_FLAG_NO_IDLE_DIE | MASTER_SERVICE_FLAG_UPDATE_PROCTITLE; const char *error; diff --git a/src/pop3/main.c b/src/pop3/main.c index 85916c3cb7..285e74e36e 100644 --- a/src/pop3/main.c +++ b/src/pop3/main.c @@ -317,8 +317,7 @@ int main(int argc, char *argv[]) NULL }; struct master_login_settings login_set; - enum master_service_flags service_flags = - MASTER_SERVICE_FLAG_SEND_STATS; + enum master_service_flags service_flags = 0; enum mail_storage_service_flags storage_service_flags = 0; const char *username = NULL, *auth_socket_path = "auth-master"; int c; diff --git a/src/stats/main.c b/src/stats/main.c index 9264ae09d0..28e0685237 100644 --- a/src/stats/main.c +++ b/src/stats/main.c @@ -72,6 +72,7 @@ int main(int argc, char *argv[]) NULL }; const enum master_service_flags service_flags = + MASTER_SERVICE_FLAG_DONT_SEND_STATS | MASTER_SERVICE_FLAG_NO_IDLE_DIE | MASTER_SERVICE_FLAG_UPDATE_PROCTITLE; const char *error; diff --git a/src/util/rawlog.c b/src/util/rawlog.c index 34ddb47145..691ee69e11 100644 --- a/src/util/rawlog.c +++ b/src/util/rawlog.c @@ -372,12 +372,14 @@ static void rawlog_open(enum rawlog_flags flags) int main(int argc, char *argv[]) { + const enum master_service_flags service_flags = + MASTER_SERVICE_FLAG_DONT_SEND_STATS; char *executable, *p; enum rawlog_flags flags = RAWLOG_FLAG_LOG_INPUT | RAWLOG_FLAG_LOG_OUTPUT; int c; - master_service = master_service_init("rawlog", 0, + master_service = master_service_init("rawlog", service_flags, &argc, &argv, "+f:bIt"); while ((c = master_getopt(master_service)) > 0) { switch (c) { diff --git a/src/util/script-login.c b/src/util/script-login.c index efc9d0de35..cf72324c7e 100644 --- a/src/util/script-login.c +++ b/src/util/script-login.c @@ -193,7 +193,8 @@ static void script_execute_finish(void) int main(int argc, char *argv[]) { - enum master_service_flags flags = 0; + enum master_service_flags flags = + MASTER_SERVICE_FLAG_DONT_SEND_STATS; int i, c; if (getenv(MASTER_IS_PARENT_ENV) == NULL) diff --git a/src/util/script.c b/src/util/script.c index ee16dbd133..5d41e8be09 100644 --- a/src/util/script.c +++ b/src/util/script.c @@ -239,12 +239,15 @@ static void client_connected(struct master_service_connection *conn) int main(int argc, char *argv[]) { + const enum master_service_flags service_flags = + MASTER_SERVICE_FLAG_DONT_SEND_STATS; ARRAY_TYPE(const_string) aenvs; const char *binary; const char *const *envs; int c, i; - master_service = master_service_init("script", 0, &argc, &argv, "+e:"); + master_service = master_service_init("script", service_flags, + &argc, &argv, "+e:"); t_array_init(&aenvs, 16); while ((c = master_getopt(master_service)) > 0) { diff --git a/src/util/tcpwrap.c b/src/util/tcpwrap.c index 8d5d20bd9a..2cf9ecb809 100644 --- a/src/util/tcpwrap.c +++ b/src/util/tcpwrap.c @@ -108,7 +108,10 @@ static void client_connected(struct master_service_connection *conn) int main(int argc, char *argv[]) { - master_service = master_service_init("tcpwrap", 0, + const enum master_service_flags flags = + MASTER_SERVICE_FLAG_DONT_SEND_STATS; + + master_service = master_service_init("tcpwrap", service_flags, &argc, &argv, ""); if (master_getopt(master_service) > 0) return FATAL_DEFAULT;