init: fix writepid wrong pid written in file(s)
When child (pid==0) executes fork branch 'pid_str' will always be 0 writting wrong value to file(s). Fix by utilizing getpid() to obtain correct pid. Tracker link provides some insight on why use cases aren't broken. Bug: https://code.google.com/p/android/issues/detail?id=200392 Change-Id: I29989365a8bac94502c090918fa30e5cc88eb1ea Signed-off-by: Anestis Bechtsoudis <anestis@census-labs.com>
This commit is contained in:
parent
14c06e0769
commit
b702b46f68
|
@ -416,7 +416,7 @@ bool Service::Start(const std::vector<std::string>& dynamic_args) {
|
|||
}
|
||||
}
|
||||
|
||||
std::string pid_str = StringPrintf("%d", pid);
|
||||
std::string pid_str = StringPrintf("%d", getpid());
|
||||
for (const auto& file : writepid_files_) {
|
||||
if (!WriteStringToFile(pid_str, file)) {
|
||||
ERROR("couldn't write %s to %s: %s\n",
|
||||
|
|
Loading…
Reference in New Issue