From 47f4d543fba2e329e2a475c9cd91bf6476d99929 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Fri, 6 Feb 2009 20:33:56 +0000
Subject: [PATCH] Report an error when trying to cancel a job that is already
 done

---
 src/scancel/scancel.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/scancel/scancel.c b/src/scancel/scancel.c
index c64093d4c5a..5702afb5183 100644
--- a/src/scancel/scancel.c
+++ b/src/scancel/scancel.c
@@ -146,7 +146,8 @@ _verify_job_ids (void)
 			if (job_ptr[i].job_id == opt.job_id[j])
 				break;
 		}
-		if (i >= job_buffer_ptr->record_count) {
+		if ((job_ptr[i].job_state >= JOB_COMPLETE) ||
+		    (i >= job_buffer_ptr->record_count)) {
 			if (opt.step_id[j] == SLURM_BATCH_SCRIPT)
 				error("Kill job error on job id %u: %s", 
 				      opt.job_id[j], 
@@ -269,7 +270,8 @@ _cancel_jobs (void)
 
 	job_ptr = job_buffer_ptr->job_array ;
 
-	/* Spawn a thread to cancel each job or job step marked for cancellation */
+	/* Spawn a thread to cancel each job or job step marked for
+	 * cancellation */
 	for (i = 0; i < job_buffer_ptr->record_count; i++) {
 		if (job_ptr[i].job_id == 0) 
 			continue;
-- 
GitLab