Mercurial > dovecot > original-hg > dovecot-1.2
changeset 5437:2704fc574e70 HEAD
/dev/null was opened too late.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Tue, 27 Mar 2007 23:13:32 +0300 |
parents | bbb7b3d57593 |
children | 97f9bdbe924d |
files | src/master/main.c |
diffstat | 1 files changed, 7 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/master/main.c Tue Mar 27 22:59:28 2007 +0300 +++ b/src/master/main.c Tue Mar 27 23:13:32 2007 +0300 @@ -537,14 +537,16 @@ return FALSE; } -static void open_fds(void) +static void open_null_fd(void) { - /* initialize fds. */ null_fd = open("/dev/null", O_RDONLY); if (null_fd == -1) i_fatal("Can't open /dev/null: %m"); fd_close_on_exec(null_fd, TRUE); +} +static void open_fds(void) +{ /* make sure all fds between 0..3 are used. */ while (null_fd < 4) { null_fd = dup(null_fd); @@ -833,6 +835,9 @@ } } + /* need to have this open before reading settings */ + open_null_fd(); + if (getenv("DOVECOT_INETD") != NULL) { /* starting through inetd. */ inetd_login_fd = dup(0);