summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-05-20 16:21:29 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-05-20 16:21:29 -0700
commita61755e5fca065dfc89c7639bb672c20a4f9854e (patch)
treeadae06139d5b53d2e97bc3be6d1e4fa066c57a99
parent8f13782e7b4a705484d7f97f07513781b82be0dc (diff)
parent249ad57a887680538d1dc0195e746b1d877ebd6a (diff)
Merge change 2077 into donut
* changes: adb: adbd no longer disables OOM and now sets children's OOM adjustment to zero
-rw-r--r--adb/adb.c13
-rw-r--r--adb/services.c12
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 */