| Index: src/platform/crash/crash_reporter.cc
|
| diff --git a/src/platform/crash/crash_reporter.cc b/src/platform/crash/crash_reporter.cc
|
| index 3112fd384a6569d0988c2a20007ae49f5320315e..951d3fae3d4ecfc96104f949b1c9cf1d3a19545b 100644
|
| --- a/src/platform/crash/crash_reporter.cc
|
| +++ b/src/platform/crash/crash_reporter.cc
|
| @@ -15,6 +15,7 @@
|
| #pragma GCC diagnostic ignored "-Wstrict-aliasing"
|
| DEFINE_bool(init, false, "Initialize crash logging");
|
| DEFINE_bool(clean_shutdown, false, "Signal clean shutdown");
|
| +DEFINE_bool(crash_test, false, "Crash test");
|
| DEFINE_string(exec, "", "Executable name crashed");
|
| DEFINE_int32(pid, -1, "Crashing PID");
|
| DEFINE_int32(signal, -1, "Signal causing crash");
|
| @@ -113,6 +114,13 @@ int main(int argc, char *argv[]) {
|
| CHECK(FLAGS_pid != -1) << "PID must be set";
|
| CHECK(FLAGS_exec != "") << "Executable name must be set";
|
|
|
| + // Make it possible to test what happens when we crash while
|
| + // handling a crash.
|
| + if (FLAGS_crash_test) {
|
| + *(char *)0 = 0;
|
| + return 0;
|
| + }
|
| +
|
| user_collector.HandleCrash(FLAGS_signal, FLAGS_pid, FLAGS_exec);
|
|
|
| return 0;
|
|
|