Merge "Have init kill the process group." am: 9a5300fcb8 am: 963de55342 am: cb647e9318
am: 54c7d892a1
Change-Id: I5b285ae43345036380671ee9a623f846813dc212
diff --git a/init/service.cpp b/init/service.cpp
index 44d9d8c..32aafd6 100644
--- a/init/service.cpp
+++ b/init/service.cpp
@@ -197,11 +197,15 @@
}
void Service::KillProcessGroup(int signal) {
- LOG(VERBOSE) << "Sending signal " << signal
- << " to service '" << name_
- << "' (pid " << pid_ << ") process group...\n",
- kill(pid_, signal);
- killProcessGroup(uid_, pid_, signal);
+ LOG(INFO) << "Sending signal " << signal
+ << " to service '" << name_
+ << "' (pid " << pid_ << ") process group...";
+ if (killProcessGroup(uid_, pid_, signal) == -1) {
+ PLOG(ERROR) << "killProcessGroup(" << uid_ << ", " << pid_ << ", " << signal << ") failed";
+ }
+ if (kill(-pid_, signal) == -1) {
+ PLOG(ERROR) << "kill(" << pid_ << ", " << signal << ") failed";
+ }
}
void Service::CreateSockets(const std::string& context) {