diff --git a/src/slurmd/slurmd/req.c b/src/slurmd/slurmd/req.c index 3413e771e1c3fc2d95f7d28e45b15a6038dd8cee..898151e4273063ad36c0103fa9a383b5c7bfe451 100644 --- a/src/slurmd/slurmd/req.c +++ b/src/slurmd/slurmd/req.c @@ -4861,12 +4861,8 @@ _rpc_suspend_job(slurm_msg_t *msg) if ((req->op == SUSPEND_JOB) && (req->indf_susp)) switch_g_job_suspend(req->switch_info, 5); - /* Release or reclaim resources bound to these tasks (task affinity) */ - if (req->op == SUSPEND_JOB) { + if (req->op == SUSPEND_JOB) (void) task_g_slurmd_suspend_job(req->job_id); - } else { - (void) task_g_slurmd_resume_job(req->job_id); - } /* * Loop through all job steps and call stepd_suspend or stepd_resume @@ -4977,6 +4973,8 @@ _rpc_suspend_job(slurm_msg_t *msg) list_iterator_destroy(i); FREE_NULL_LIST(steps); + if (req->op == RESUME_JOB) /* Call task plugin after processes resume */ + (void) task_g_slurmd_resume_job(req->job_id); if ((req->op == RESUME_JOB) && (req->indf_susp)) switch_g_job_resume(req->switch_info, 5);