diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c index d2b14b001dfdae250ba5f726cce759cd7a480c52..711d3320c185ebe2e0fc1e2e06bd7df0b9cd8bf6 100644 --- a/src/slurmd/slurmd/req.c +++ b/src/slurmd/slurmd/req.c @@ -756,16 +756,20 @@ _forkexec_slurmstepd(slurmd_step_type_t type, void *req, error("close write to_stepd in grandchild: %m"); if (close(to_slurmd[0]) < 0) error("close read to_slurmd in parent: %m"); + + (void) close(STDIN_FILENO); /* ignore return */ if (dup2(to_stepd[0], STDIN_FILENO) == -1) { error("dup2 over STDIN_FILENO: %m"); exit(1); } fd_set_close_on_exec(to_stepd[0]); + (void) close(STDOUT_FILENO); /* ignore return */ if (dup2(to_slurmd[1], STDOUT_FILENO) == -1) { error("dup2 over STDOUT_FILENO: %m"); exit(1); } fd_set_close_on_exec(to_slurmd[1]); + (void) close(STDERR_FILENO); /* ignore return */ if (dup2(devnull, STDERR_FILENO) == -1) { error("dup2 /dev/null to STDERR_FILENO: %m"); exit(1);