diff --git a/servers/init/init.c b/servers/init/init.c index 7d32818da..5fd15fd3e 100644 --- a/servers/init/init.c +++ b/servers/init/init.c @@ -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);