Update IsZygote to return true for USAPs.
Bug: http://b/132912216
Test: treehugger
Change-Id: I677d7e22e8d78b6dd92f0c35e9493acc6524c0e0
diff --git a/libs/dumputils/dump_utils.cpp b/libs/dumputils/dump_utils.cpp
index 26c2a0d..a00459d 100644
--- a/libs/dumputils/dump_utils.cpp
+++ b/libs/dumputils/dump_utils.cpp
@@ -110,13 +110,15 @@
}
bool IsZygote(int pid) {
- static const std::string kZygotePrefix = "zygote";
-
std::string cmdline;
if (!android::base::ReadFileToString(android::base::StringPrintf("/proc/%d/cmdline", pid),
&cmdline)) {
return true;
}
- return (cmdline.find(kZygotePrefix) == 0);
+ // cmdline has embedded nulls; only consider argv[0].
+ cmdline = std::string(cmdline.c_str());
+
+ return cmdline == "zygote" || cmdline == "zygote64" || cmdline == "usap32" ||
+ cmdline == "usap64";
}