summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-06-09 23:51:57 +0200
committerLennart Poettering <lennart@poettering.net>2015-06-09 23:51:57 +0200
commitd93bcf29b82ee424ee9ec452c8b667fdd818a06b (patch)
treebcc675e7f7c668b4c57ec5aa234752b6719577f5
parent135d5bfcaee87d5133f73333aaf4906499529d8f (diff)
parent60053efbbaabf084e1ecd61474fdc7235fe3da64 (diff)
Merge pull request #126 from phomes/master
core: log oom during killing spree
-rw-r--r--src/core/killall.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/core/killall.c b/src/core/killall.c
index 6e85923581..2a9d72c901 100644
--- a/src/core/killall.c
+++ b/src/core/killall.c
@@ -158,6 +158,7 @@ static int killall(int sig, Set *pids, bool send_sighup) {
while ((d = readdir(dir))) {
pid_t pid;
+ int r;
if (d->d_type != DT_DIR &&
d->d_type != DT_UNKNOWN)
@@ -177,8 +178,11 @@ static int killall(int sig, Set *pids, bool send_sighup) {
}
if (kill(pid, sig) >= 0) {
- if (pids)
- set_put(pids, ULONG_TO_PTR(pid));
+ if (pids) {
+ r = set_put(pids, ULONG_TO_PTR(pid));
+ if (r < 0)
+ log_oom();
+ }
} else if (errno != ENOENT)
log_warning_errno(errno, "Could not kill %d: %m", pid);