[BUG] critical errors should be reported even in daemon mode

Josh Goebel reported that haproxy silently dies when it fails to
chroot. In fact, it does so when in daemon mode, because daemon
mode has been disabling output for ages.

Since the code has been reworked, this could have been changed
because there is no reason for this anymore, hence this patch.
This commit is contained in:
Willy Tarreau 2008-11-16 07:40:34 +01:00
parent a2b53f8831
commit 304d6fb00f

View File

@ -895,11 +895,6 @@ int main(int argc, char **argv)
signal(SIGTTOU, sig_pause); signal(SIGTTOU, sig_pause);
signal(SIGTTIN, sig_listen); signal(SIGTTIN, sig_listen);
if (global.mode & MODE_DAEMON) {
global.mode &= ~MODE_VERBOSE;
global.mode |= MODE_QUIET;
}
/* MODE_QUIET can inhibit alerts and warnings below this line */ /* MODE_QUIET can inhibit alerts and warnings below this line */
global.mode &= ~MODE_STARTING; global.mode &= ~MODE_STARTING;
@ -1061,10 +1056,11 @@ int main(int argc, char **argv)
* it would have already be done, and 0-2 would have been affected to listening * it would have already be done, and 0-2 would have been affected to listening
* sockets * sockets
*/ */
if (!(global.mode & MODE_QUIET)) { if (!(global.mode & MODE_QUIET) || (global.mode & MODE_VERBOSE)) {
/* detach from the tty */ /* detach from the tty */
fclose(stdin); fclose(stdout); fclose(stderr); fclose(stdin); fclose(stdout); fclose(stderr);
close(0); close(1); close(2); /* close all fd's */ close(0); close(1); close(2); /* close all fd's */
global.mode &= ~MODE_VERBOSE;
global.mode |= MODE_QUIET; /* ensure that we won't say anything from now */ global.mode |= MODE_QUIET; /* ensure that we won't say anything from now */
} }
pid = getpid(); /* update child's pid */ pid = getpid(); /* update child's pid */