From 430c18ed7f576fd9041b0a02e7c4210bdd020a25 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 3 Mar 2011 23:55:30 +0100 Subject: kill: always send SIGCONT after SIGTERM When we kill a process to terminate it make sure to send SIGCONT to ensure it is unpaused and processes the signal. --- src/cgroup.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/cgroup.c') diff --git a/src/cgroup.c b/src/cgroup.c index 729cc75e67..b75fe0bee0 100644 --- a/src/cgroup.c +++ b/src/cgroup.c @@ -140,7 +140,7 @@ int cgroup_bonding_install_list(CGroupBonding *first, pid_t pid) { return 0; } -int cgroup_bonding_kill(CGroupBonding *b, int sig, Set *s) { +int cgroup_bonding_kill(CGroupBonding *b, int sig, bool sigcont, Set *s) { assert(b); assert(sig >= 0); @@ -148,10 +148,10 @@ int cgroup_bonding_kill(CGroupBonding *b, int sig, Set *s) { if (!b->realized || !b->ours) return 0; - return cg_kill_recursive(b->controller, b->path, sig, true, false, s); + return cg_kill_recursive(b->controller, b->path, sig, sigcont, true, false, s); } -int cgroup_bonding_kill_list(CGroupBonding *first, int sig, Set *s) { +int cgroup_bonding_kill_list(CGroupBonding *first, int sig, bool sigcont, Set *s) { CGroupBonding *b; Set *allocated_set = NULL; int ret = -EAGAIN, r; @@ -161,7 +161,7 @@ int cgroup_bonding_kill_list(CGroupBonding *first, int sig, Set *s) { return -ENOMEM; LIST_FOREACH(by_unit, b, first) { - if ((r = cgroup_bonding_kill(b, sig, s)) < 0) { + if ((r = cgroup_bonding_kill(b, sig, sigcont, s)) < 0) { if (r == -EAGAIN || r == -ESRCH) continue; -- cgit v1.2.3-54-g00ecf