From 249ad57a887680538d1dc0195e746b1d877ebd6a Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Wed, 20 May 2009 09:14:30 -0400 Subject: [PATCH] adb: adbd no longer disables OOM and now sets children's OOM adjustment to zero Signed-off-by: Mike Lockwood --- adb/adb.c | 13 ------------- adb/services.c | 12 ++++++++++++ 2 files changed, 12 insertions(+), 13 deletions(-) diff --git a/adb/adb.c b/adb/adb.c index 12a36f5c2..7a2b2993e 100644 --- a/adb/adb.c +++ b/adb/adb.c @@ -818,19 +818,6 @@ int adb_main(int is_daemon) #if !ADB_HOST int secure = 0; char value[PROPERTY_VALUE_MAX]; - - // prevent the OOM killer from killing us - char text[64]; - snprintf(text, sizeof text, "/proc/%d/oom_adj", (int)getpid()); - int fd = adb_open(text, O_WRONLY); - if (fd >= 0) { - // -17 should make us immune to OOM - snprintf(text, sizeof text, "%d", -17); - adb_write(fd, text, strlen(text)); - adb_close(fd); - } else { - D("adb: unable to open %s\n", text); - } #endif atexit(adb_cleanup); diff --git a/adb/services.c b/adb/services.c index 1de55e6cd..0a5edcf4b 100644 --- a/adb/services.c +++ b/adb/services.c @@ -244,6 +244,18 @@ static int create_subprocess(const char *cmd, const char *arg0, const char *arg1 cmd, strerror(errno), errno); exit(-1); } else { +#if !ADB_HOST + // set child's OOM adjustment to zero + char text[64]; + snprintf(text, sizeof text, "/proc/%d/oom_adj", pid); + int fd = adb_open(text, O_WRONLY); + if (fd >= 0) { + adb_write(fd, "0", 1); + adb_close(fd); + } else { + D("adb: unable to open %s\n", text); + } +#endif return ptm; } #endif /* !HAVE_WIN32_PROC */