Skip to content
Snippets Groups Projects
Commit d5a05c4b authored by Moe Jette's avatar Moe Jette
Browse files

slurmctld/agent.c kills a non-startable batch job and releases its allocation.

parent 212b07b4
No related branches found
No related tags found
No related merge requests found
...@@ -496,6 +496,9 @@ static void *_thread_per_node_rpc(void *args) ...@@ -496,6 +496,9 @@ static void *_thread_per_node_rpc(void *args)
/* Locks: Write write node */ /* Locks: Write write node */
slurmctld_lock_t node_write_lock = slurmctld_lock_t node_write_lock =
{ NO_LOCK, NO_LOCK, WRITE_LOCK, NO_LOCK }; { NO_LOCK, NO_LOCK, WRITE_LOCK, NO_LOCK };
/* Locks: Write job, write node */
slurmctld_lock_t job_write_lock = {
NO_LOCK, WRITE_LOCK, WRITE_LOCK, NO_LOCK };
#endif #endif
xassert(args != NULL); xassert(args != NULL);
...@@ -549,7 +552,19 @@ static void *_thread_per_node_rpc(void *args) ...@@ -549,7 +552,19 @@ static void *_thread_per_node_rpc(void *args)
* only do when last node registers */ * only do when last node registers */
} }
unlock_slurmctld(node_write_lock); unlock_slurmctld(node_write_lock);
} }
/* SPECIAL CASE: Kill non-startable batch job */
if ((msg_type == REQUEST_BATCH_JOB_LAUNCH) && rc) {
batch_job_launch_msg_t *launch_msg_ptr = task_ptr->msg_args_ptr;
uint32_t job_id = launch_msg_ptr->job_id;
info("Killing non-startable batch job %u: %s", job_id, slurm_strerror(rc));
thread_state = DSH_DONE;
lock_slurmctld(job_write_lock);
job_signal(job_id, SIGKILL, 0);
unlock_slurmctld(job_write_lock);
goto cleanup;
}
#endif #endif
switch (rc) { switch (rc) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment