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

This commit is contained in:
David Pursell 2016-06-06 21:06:10 +00:00 committed by Gerrit Code Review
commit 605628d325

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();
}
}
}