diff options
author | Lennart Poettering <lennart@poettering.net> | 2011-03-03 23:55:30 +0100 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2011-03-03 23:55:30 +0100 |
commit | 430c18ed7f576fd9041b0a02e7c4210bdd020a25 (patch) | |
tree | 0ea2aa6c3d7c434c1c8b5dd2c91ca7b54a7771c4 /src/cgroup.c | |
parent | 2b590e135f53a1bd3e771bdc555f7bf28c4cd232 (diff) |
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.
Diffstat (limited to 'src/cgroup.c')
-rw-r--r-- | src/cgroup.c | 8 |
1 files changed, 4 insertions, 4 deletions
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; |