From 44dc3d9c4608c0c7d8b716fc839c558307d67f07 Mon Sep 17 00:00:00 2001 From: Moe Jette <jette1@llnl.gov> Date: Thu, 14 Aug 2003 19:30:40 +0000 Subject: [PATCH] Kill batch job script as part of the KILL_JOB request processing. It was formerly just killing the job step processes. --- src/slurmd/req.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/slurmd/req.c b/src/slurmd/req.c index 82b74b4267d..d590e33e847 100644 --- a/src/slurmd/req.c +++ b/src/slurmd/req.c @@ -674,11 +674,21 @@ _kill_all_active_steps(uint32_t jobid, int sig) int step_cnt = 0; while ((s = list_next(i))) { - if ((s->jobid == jobid) && (s->stepid != NO_VAL)) { - debug2("sending signal %d to job %d.%d (pg:%d)", + if (s->jobid != jobid) /* wrong job */ + continue; + if ((s->stepid == NO_VAL) && /* batch job script */ + ((sig != SIGKILL) || (s->sid <= 0))) + continue; + step_cnt++; + if (s->stepid == NO_VAL) { + debug2("sending signal %d to job %u (pg:%d)", + sig, jobid, s->sid); + if (kill(-s->sid, sig) < 0) + error("kill jid %d sid %d: %m", s->jobid, s->sid); + } else { + debug2("sending signal %d to job %u.%u (pg:%d)", sig, jobid, s->stepid, s->sid); shm_signal_step(jobid, s->stepid, sig); - step_cnt++; } } list_destroy(steps); -- GitLab