diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c index a7f22166016d7e0cfba87d5f29305ecf5180b7d1..551917750e4bb0df410cdf22b40894911a2806b7 100644 --- a/src/slurmd/slurmstepd/mgr.c +++ b/src/slurmd/slurmstepd/mgr.c @@ -461,19 +461,22 @@ _setup_normal_io(slurmd_job_t *job) } } - if (_reclaim_privileges(&sprivs) < 0) - error("sete{u/g}id(%lu/%lu): %m", - (u_long) sprivs.saved_uid, (u_long) sprivs.saved_gid); - rc = io_initial_client_connect(srun, job, srun_stdout_tasks, srun_stderr_tasks); if (rc < 0) return ESLURMD_IO_ERROR; } - if (!job->batch) + if (_reclaim_privileges(&sprivs) < 0) { + error("sete{u/g}id(%lu/%lu): %m", + (u_long) sprivs.saved_uid, (u_long) sprivs.saved_gid); + } + + if (!job->batch) { if (io_thread_start(job) < 0) return ESLURMD_IO_ERROR; + } + debug2("Leaving _setup_normal_io"); return SLURM_SUCCESS; }