diff options
Diffstat (limited to 'src/nohup.c')
-rw-r--r-- | src/nohup.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/nohup.c b/src/nohup.c index d524424ec..c7caa7f01 100644 --- a/src/nohup.c +++ b/src/nohup.c @@ -28,6 +28,7 @@ #include "long-options.h" #include "path-concat.h" #include "quote.h" +#include "cloexec.h" #define PROGRAM_NAME "nohup" @@ -148,6 +149,10 @@ main (int argc, char **argv) the post-failed-execve diagnostic. */ saved_stderr_fd = dup (STDERR_FILENO); + if (set_cloexec_flag (saved_stderr_fd, 1) == -1) + error (NOHUP_FAILURE, errno, + _("failed to set the copy of stderr to close on exec")); + if (dup2 (fd, STDERR_FILENO) == -1) error (NOHUP_FAILURE, errno, _("failed to redirect standard error")); } |