Open stdin, stdout and stderr only after /etc/rc has executed. (/etc/rc

executes it itself.) This avoids keeping /dev nodes on the temporary
root filesystem (initial mfs) in use unnecessarily.
This commit is contained in:
Ben Gras 2008-12-11 14:43:25 +00:00
parent 1d8aed840c
commit e9f0c576a3

View file

@ -74,11 +74,12 @@ int main(void)
struct sigaction sa;
struct stat stb;
if (fstat(0, &stb) < 0) {
/* Open standard input, output & error. */
(void) open("/dev/null", O_RDONLY);
(void) open("/dev/log", O_WRONLY);
dup(1);
#define OPENFDS \
if (fstat(0, &stb) < 0) { \
/* Open standard input, output & error. */ \
(void) open("/dev/null", O_RDONLY); \
(void) open("/dev/log", O_WRONLY); \
dup(1); \
}
sigemptyset(&sa.sa_mask);
@ -123,6 +124,8 @@ int main(void)
_exit(1); /* impossible, we hope */
}
OPENFDS;
/* Clear /etc/utmp if it exists. */
if ((fd = open(PATH_UTMP, O_WRONLY | O_TRUNC)) >= 0) close(fd);