diff options
author | Colin Cross <ccross@android.com> | 2014-06-11 14:53:41 -0700 |
---|---|---|
committer | Colin Cross <ccross@android.com> | 2014-07-09 17:24:39 -0700 |
commit | fef9522d9b9c0c0c5c55625a770cc58ece778da2 (patch) | |
tree | a496ad138dc5e291d3b40b3920e5ee99177395a6 /lmkd | |
parent | cf8d1c22f7e239f502a7d209e2255d2997dbeb8b (diff) | |
download | system_core-fef9522d9b9c0c0c5c55625a770cc58ece778da2.zip system_core-fef9522d9b9c0c0c5c55625a770cc58ece778da2.tar.gz system_core-fef9522d9b9c0c0c5c55625a770cc58ece778da2.tar.bz2 |
lmkd: use libprocessgroup to kill forked processes
After sending sigkill to the main process, also call into
libprocessgroup to kill any processes that were forked.
Bug: 15313911
Change-Id: I05577c6f5b70800ce0a01f480c8870c2c601afda
Diffstat (limited to 'lmkd')
-rw-r--r-- | lmkd/Android.mk | 2 | ||||
-rw-r--r-- | lmkd/lmkd.c | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/lmkd/Android.mk b/lmkd/Android.mk index 2dd8af2..043a085 100644 --- a/lmkd/Android.mk +++ b/lmkd/Android.mk @@ -2,7 +2,7 @@ LOCAL_PATH:= $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := lmkd.c -LOCAL_SHARED_LIBRARIES := libcutils liblog libm libc +LOCAL_SHARED_LIBRARIES := libcutils liblog libm libc libprocessgroup LOCAL_CFLAGS := -Werror LOCAL_MODULE := lmkd diff --git a/lmkd/lmkd.c b/lmkd/lmkd.c index 369b5ad..1aeb182 100644 --- a/lmkd/lmkd.c +++ b/lmkd/lmkd.c @@ -32,6 +32,7 @@ #include <cutils/sockets.h> #include <log/log.h> +#include <processgroup/processgroup.h> #ifndef __unused #define __unused __attribute__((__unused__)) @@ -591,6 +592,7 @@ static void mp_event(uint32_t events __unused) { other_file * page_k, minfree * page_k, min_score_adj, other_free * page_k, other_free >= 0 ? "above" : "below"); r = kill(pid, SIGKILL); + killProcessGroup(uid, pid, SIGKILL); pid_remove(pid); if (r) { |