Skip to content
Snippets Groups Projects
Commit 6d817a78 authored by Christopher J. Morrone's avatar Christopher J. Morrone
Browse files

At step termination, always send SIGCONT to the container, in case the

processes are stopped.
parent 1e4927fe
No related branches found
No related tags found
No related merge requests found
...@@ -755,8 +755,15 @@ _rpc_kill_tasks(slurm_msg_t *msg, slurm_addr *cli_addr) ...@@ -755,8 +755,15 @@ _rpc_kill_tasks(slurm_msg_t *msg, slurm_addr *cli_addr)
} }
if ((req->signal == SIGKILL) if ((req->signal == SIGKILL)
|| (req->signal == SIGINT) /* concession to proctrack/linuxproc */ || (req->signal == SIGINT)) { /* for proctrack/linuxproc */
|| (req->signal == 0)) { /*
* Assume step termination request.
* Send SIGCONT just in case the processes are stopped.
*/
slurm_signal_container(step->cont_id, SIGCONT);
if (slurm_signal_container(step->cont_id, req->signal) < 0)
rc = errno;
} else if (req->signal == 0) {
if (slurm_signal_container(step->cont_id, req->signal) < 0) if (slurm_signal_container(step->cont_id, req->signal) < 0)
rc = errno; rc = errno;
/* SIGMIGRATE and SIGSOUND are used to initiate job checkpoint on AIX. /* SIGMIGRATE and SIGSOUND are used to initiate job checkpoint on AIX.
...@@ -1166,6 +1173,12 @@ _rpc_kill_job(slurm_msg_t *msg, slurm_addr *cli) ...@@ -1166,6 +1173,12 @@ _rpc_kill_job(slurm_msg_t *msg, slurm_addr *cli)
debug("credential for job %u revoked", req->job_id); debug("credential for job %u revoked", req->job_id);
} }
/*
* Tasks might be stopped (possibly by a debugger)
* so send SIGCONT first.
*/
_kill_all_active_steps(req->job_id, SIGCONT, true);
nsteps = _kill_all_active_steps(req->job_id, SIGTERM, true); nsteps = _kill_all_active_steps(req->job_id, SIGTERM, true);
/* /*
......
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