Merge "adbd: properly close subprocess pipes on Ctrl+C."

am: 605628d325

* commit '605628d325b003251155b5c5b425028106bf8f29':
  adbd: properly close subprocess pipes on Ctrl+C.

Change-Id: I6eb8faa339a0a6506e21d5c74e5e9b8582e04735
This commit is contained in:
David Pursell 2016-06-06 21:17:16 +00:00 committed by android-build-merger
commit 5701c58296

View file

@ -477,8 +477,14 @@ void Subprocess::PassDataStreams() {
// and only fall back on this for unexpected closures.
D("protocol FD died, sending SIGHUP to pid %d", pid_);
kill(pid_, SIGHUP);
// We also need to close the pipes connected to the child process
// so that if it ignores SIGHUP and continues to write data it
// won't fill up the pipe and block.
stdinout_sfd_.clear();
stderr_sfd_.clear();
}
dead_sfd->reset(-1);
dead_sfd->clear();
}
}
}