Have init kill the process group.
killProcessGroup actually works on cgroups. Kill the POSIX process group ourselves. Bug: http://b/29751426 Change-Id: I1a2808488510f4262811b6407bcd0948ad23bc60
This commit is contained in:
parent
c97b73aa83
commit
1e73024653
|
@ -197,11 +197,15 @@ void Service::NotifyStateChange(const std::string& new_state) const {
|
|||
}
|
||||
|
||||
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) {
|
||||
|
|
Loading…
Reference in New Issue