From: Timo Sirainen Date: Sat, 15 Nov 2008 17:34:28 +0000 (+0200) Subject: dovecot --exec-mail: Never listen input from stderr, there's no point. X-Git-Tag: 1.2.alpha4~84 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=5e5aedee8314241046e9b23e9757d449525e640d;p=thirdparty%2Fdovecot%2Fcore.git dovecot --exec-mail: Never listen input from stderr, there's no point. --HG-- branch : HEAD --- diff --git a/src/master/mail-process.c b/src/master/mail-process.c index b18d7e26a4..b4ab62ff28 100644 --- a/src/master/mail-process.c +++ b/src/master/mail-process.c @@ -290,7 +290,7 @@ env_put_namespace(struct namespace_settings *ns, const char *default_location, static void mail_process_set_environment(struct settings *set, const char *mail, const struct var_expand_table *var_expand_table, - bool dump_capability) + bool dump_capability, bool exec_mail) { const char *const *envs; string_t *str; @@ -370,8 +370,10 @@ mail_process_set_environment(struct settings *set, const char *mail, if (set->mbox_lazy_writes) env_put("MBOX_LAZY_WRITES=1"); /* when running dump-capability log still points to stderr, - and io_add()ing it might break (epoll_ctl() gives EPERM) */ - if (set->shutdown_clients && !dump_capability) + and io_add()ing it might break (epoll_ctl() gives EPERM). + with --exec-mail there's no benefit in adding an extra stderr + listener, but it might cause problems. */ + if (set->shutdown_clients && !dump_capability && !exec_mail) env_put("STDERR_CLOSE_SHUTDOWN=1"); (void)umask(set->umask); @@ -486,7 +488,7 @@ void mail_process_exec(const char *protocol, const char **args) } mail_process_set_environment(set, getenv("MAIL"), var_expand_table, - FALSE); + FALSE, TRUE); if (args == NULL) client_process_exec(executable, ""); else @@ -816,7 +818,7 @@ create_mail_process(enum process_type process_type, struct settings *set, } mail_process_set_environment(set, mail, var_expand_table, - dump_capability); + dump_capability, FALSE); /* extra args. uppercase key value. */ args = array_get(&extra_args, &count);