From: Timo Sirainen Date: Wed, 16 Mar 2011 17:49:27 +0000 (+0200) Subject: master: Don't close stderr if logging goes there. X-Git-Tag: 2.0.12~52 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ba55f12488618b352ebcd139ffd406c6f30227fa;p=thirdparty%2Fdovecot%2Fcore.git master: Don't close stderr if logging goes there. --- diff --git a/src/master/main.c b/src/master/main.c index 2db65c9d9f..327b77dfdf 100644 --- a/src/master/main.c +++ b/src/master/main.c @@ -774,8 +774,12 @@ int main(int argc, char *argv[]) if (chdir(set->base_dir) < 0) i_fatal("chdir(%s) failed: %m", set->base_dir); - if (dup2(null_fd, STDERR_FILENO) < 0) - i_fatal("dup2(null_fd) failed: %m"); + if (strcmp(services->service_set->log_path, "/dev/stderr") != 0 && + strcmp(services->service_set->info_log_path, "/dev/stderr") != 0 && + strcmp(services->service_set->debug_log_path, "/dev/stderr") != 0) { + if (dup2(null_fd, STDERR_FILENO) < 0) + i_fatal("dup2(null_fd) failed: %m"); + } i_set_fatal_handler(master_fatal_callback); i_set_error_handler(orig_error_callback);