# HG changeset patch # User Timo Sirainen # Date 1226770468 -7200 # Node ID cb742f826abd18e66267e6ac7ecd6f28c743fe9a # Parent d3cbd3494a8c8638ae336f0247e8307f85d52fff dovecot --exec-mail: Never listen input from stderr, there's no point. diff -r d3cbd3494a8c -r cb742f826abd src/master/mail-process.c --- a/src/master/mail-process.c Sat Nov 15 19:22:33 2008 +0200 +++ b/src/master/mail-process.c Sat Nov 15 19:34:28 2008 +0200 @@ -290,7 +290,7 @@ 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 @@ 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 @@ } 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 @@ } 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);