mirror of
https://github.com/chromium/crashpad.git
synced 2025-03-19 18:03:47 +00:00
Uninstall handlers for expected crash signals in child processes
Chromium's test launcher installs crash signal handlers which call exit(1), instead of with the signal value. Change-Id: I0c1a62100ef59939a6bcfbf0733e746609a1ead8 Reviewed-on: https://chromium-review.googlesource.com/1131819 Reviewed-by: Robert Sesek <rsesek@chromium.org> Commit-Queue: Joshua Peraza <jperaza@chromium.org>
This commit is contained in:
parent
0c8f035a50
commit
fb0f7ca8d7
@ -89,7 +89,8 @@ class Multiprocess {
|
|||||||
//! \param[in] code If \a reason is TerminationReason::kTerminationNormal,
|
//! \param[in] code If \a reason is TerminationReason::kTerminationNormal,
|
||||||
//! this is the expected exit status of the child. If \a reason is
|
//! this is the expected exit status of the child. If \a reason is
|
||||||
//! TerminationReason::kTerminationSignal, this is the signal that is
|
//! TerminationReason::kTerminationSignal, this is the signal that is
|
||||||
//! expected to kill the child.
|
//! expected to kill the child. On Linux platforms, SIG_DFL will be
|
||||||
|
//! installed for \a code in the child process.
|
||||||
void SetExpectedChildTermination(TerminationReason reason, int code);
|
void SetExpectedChildTermination(TerminationReason reason, int code);
|
||||||
|
|
||||||
#if !defined(OS_WIN)
|
#if !defined(OS_WIN)
|
||||||
|
@ -143,6 +143,10 @@ void Multiprocess::Run() {
|
|||||||
if (exception_swallower.get()) {
|
if (exception_swallower.get()) {
|
||||||
ExceptionSwallower::SwallowExceptions();
|
ExceptionSwallower::SwallowExceptions();
|
||||||
}
|
}
|
||||||
|
#elif defined(OS_LINUX) || defined(OS_ANDROID)
|
||||||
|
if (reason_ == kTerminationSignal && Signals::IsCrashSignal(code_)) {
|
||||||
|
Signals::InstallDefaultHandler(code_);
|
||||||
|
}
|
||||||
#endif // OS_MACOSX
|
#endif // OS_MACOSX
|
||||||
|
|
||||||
RunChild();
|
RunChild();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user