Merge "adbd's children should have SIGPIPE set to SIG_DFL."

am: 81c6ff3b96

Change-Id: I5aaec2b05566d6885b11080a8de943dde838031f
This commit is contained in:
Elliott Hughes 2017-02-17 20:57:59 +00:00 committed by android-build-merger
commit 10ecd9de62

View file

@ -320,6 +320,10 @@ bool Subprocess::ForkAndExec(std::string* error) {
parent_error_sfd.reset(-1);
close_on_exec(child_error_sfd);
// adbd sets SIGPIPE to SIG_IGN to get EPIPE instead, and Linux propagates that to child
// processes, so we need to manually reset back to SIG_DFL here (http://b/35209888).
signal(SIGPIPE, SIG_DFL);
if (command_.empty()) {
execle(_PATH_BSHELL, _PATH_BSHELL, "-", nullptr, cenv.data());
} else {