From a5ace79c4754ccf0f2c277090863cb7aef7d9292 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Sat, 5 Apr 2003 00:11:44 +0000 Subject: [PATCH] Set job end time when cancelled. --- src/slurmctld/job_mgr.c | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 5b8f3f47ef9..0aa2cade072 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -1177,9 +1177,10 @@ int job_signal(uint32_t job_id, uint16_t signal, uid_t uid) if ((job_ptr->job_state == JOB_PENDING) && (signal == SIGKILL)) { - last_job_update = now; - job_ptr->job_state = JOB_FAILED; - job_ptr->start_time = job_ptr->end_time = time(NULL); + last_job_update = now; + job_ptr->job_state = JOB_FAILED; + job_ptr->start_time = now; + job_ptr->end_time = now; delete_job_details(job_ptr); verbose("job_signal of pending job %u successful", job_id); return SLURM_SUCCESS; @@ -1188,24 +1189,24 @@ int job_signal(uint32_t job_id, uint16_t signal, uid_t uid) if (job_ptr->job_state == JOB_RUNNING) { ListIterator step_record_iterator; struct step_record *step_ptr; - int step_cnt = 0; step_record_iterator = list_iterator_create (job_ptr->step_list); while ((step_ptr = (struct step_record *) list_next (step_record_iterator))) { signal_step_tasks(step_ptr, signal); - step_cnt++; } list_iterator_destroy (step_record_iterator); if (signal == SIGKILL) { - job_ptr->time_last_active = now; - last_job_update = now; + job_ptr->time_last_active = now; + job_ptr->end_time = now; + last_job_update = now; job_ptr->job_state = JOB_COMPLETE | JOB_COMPLETING; deallocate_nodes(job_ptr, false); } - verbose("job_signal of running job %u successful", job_id); + verbose("job_signal %u of running job %u successful", + signal, job_id); return SLURM_SUCCESS; } -- GitLab