Merge change 2077 into donut
* changes: adb: adbd no longer disables OOM and now sets children's OOM adjustment to zero
This commit is contained in:
commit
a61755e5fc
2 changed files with 12 additions and 13 deletions
13
adb/adb.c
13
adb/adb.c
|
|
@ -818,19 +818,6 @@ int adb_main(int is_daemon)
|
||||||
#if !ADB_HOST
|
#if !ADB_HOST
|
||||||
int secure = 0;
|
int secure = 0;
|
||||||
char value[PROPERTY_VALUE_MAX];
|
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
|
#endif
|
||||||
|
|
||||||
atexit(adb_cleanup);
|
atexit(adb_cleanup);
|
||||||
|
|
|
||||||
|
|
@ -244,6 +244,18 @@ static int create_subprocess(const char *cmd, const char *arg0, const char *arg1
|
||||||
cmd, strerror(errno), errno);
|
cmd, strerror(errno), errno);
|
||||||
exit(-1);
|
exit(-1);
|
||||||
} else {
|
} 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;
|
return ptm;
|
||||||
}
|
}
|
||||||
#endif /* !HAVE_WIN32_PROC */
|
#endif /* !HAVE_WIN32_PROC */
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue