aboutsummaryrefslogtreecommitdiff
path: root/src/rc/start-stop-daemon.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/rc/start-stop-daemon.c')
-rw-r--r--src/rc/start-stop-daemon.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/rc/start-stop-daemon.c b/src/rc/start-stop-daemon.c
index 29525c96..d0e168af 100644
--- a/src/rc/start-stop-daemon.c
+++ b/src/rc/start-stop-daemon.c
@@ -1025,12 +1025,11 @@ int start_stop_daemon (int argc, char **argv)
applet, redirect_stderr, strerror (errno));
}
- if (background) {
- /* Hmmm, some daemons may need stdin? */
- dup2 (devnull_fd, STDIN_FILENO);
+ /* We don't redirect stdin as some daemons may need it */
+ if (background || quiet || redirect_stdout)
dup2 (stdout_fd, STDOUT_FILENO);
+ if (background || quiet || redirect_stderr)
dup2 (stderr_fd, STDERR_FILENO);
- }
for (i = getdtablesize () - 1; i >= 3; --i)
close(i);