MINOR: startup: close devnullfd, when daemon mode is applied
In case of daemon mode now daemonization fork happens in the early init stage before parsing and applying the configuration, so we can't close stdio/stderr/stdout immediately after forking. We keep it open until the most of configuration, including chroot are applied in order to show alerts, if there are some problems. To achieve this /dev/null is opened just before calling chroot(), and after the chroot block it's used to close all standard outputs and stdin. At this point we no longer need the fd of /dev/null, so we can close it as well.
This commit is contained in:
parent
dc53c37234
commit
c42ad79134
|
@ -3948,6 +3948,8 @@ int main(int argc, char **argv)
|
||||||
stdio_quiet(devnullfd);
|
stdio_quiet(devnullfd);
|
||||||
global.mode &= ~MODE_VERBOSE;
|
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 */
|
||||||
|
close(devnullfd);
|
||||||
|
devnullfd = -1;
|
||||||
}
|
}
|
||||||
pid = getpid(); /* update pid */
|
pid = getpid(); /* update pid */
|
||||||
setsid();
|
setsid();
|
||||||
|
|
Loading…
Reference in New Issue