diff options
author | Thomas White <taw@physics.org> | 2020-12-04 17:58:27 +0100 |
---|---|---|
committer | Thomas White <taw@physics.org> | 2020-12-04 17:58:27 +0100 |
commit | fa6dd82e86109d6d071ffc8affe4c13c27a2b160 (patch) | |
tree | a748d6dd90ce34aef2181c7d57f2796315bec69f /src | |
parent | 71d5407524ee7451fc8b6b6cc014e5d5539b3694 (diff) |
SLURM: Cancel merging jobs properly
Diffstat (limited to 'src')
-rw-r--r-- | src/gui_backend_slurm.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/gui_backend_slurm.c b/src/gui_backend_slurm.c index f6f2e8e2..d572a9b4 100644 --- a/src/gui_backend_slurm.c +++ b/src/gui_backend_slurm.c @@ -177,10 +177,17 @@ static void cancel_task(void *job_priv) { int i; struct slurm_job *job = job_priv; - for ( i=0; i<job->n_blocks; i++) { - if ( job->job_ids[i] == 0 ) continue; - STATUS("Stopping SLURM job %i\n", job->job_ids[i]); - if ( slurm_kill_job(job->job_ids[i], SIGINT, 0) ) { + if ( job->type == SLURM_JOB_INDEXING ) { + for ( i=0; i<job->n_blocks; i++) { + if ( job->job_ids[i] == 0 ) continue; + STATUS("Stopping SLURM job %i\n", job->job_ids[i]); + if ( slurm_kill_job(job->job_ids[i], SIGINT, 0) ) { + ERROR("Couldn't stop job: %s\n", + slurm_strerror(slurm_get_errno())); + } + } + } else { + if ( slurm_kill_job(job->job_id, SIGINT, 0) ) { ERROR("Couldn't stop job: %s\n", slurm_strerror(slurm_get_errno())); } |