breakpad/src/client
digit@chromium.org f72b9c6ff4 Make Linux signal handler more robust.
Breakpad can be used on processes where a mistaken
library saves then restores one of our signal handlers
with 'signal' instead of 'sigaction'.

This loses the SA_SIGINFO flag associated with the 
Breakpad handler, and in some cases (e.g. Android/ARM
kernels), the values of the 'info' and 'uc' parameters
that ExceptionHandler::SignalHandler() receives will
be completely bogus, leading to a crash when the function
is executed (and of course, no minidump generation).

To work-around this, have SignalHandler() check the state
of the flag. If it is incorrectly unset, re-register with
'sigaction' and the correct flag, then return. The signal
will be re-thrown, and this time the function will be
called with the correct values.
Review URL: https://breakpad.appspot.com/481002

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@1067 4c0a9323-5329-0410-9bdc-e9ce6186880e
2012-10-09 18:03:25 +00:00
..
apple/Framework Create a static library to use Breakpad on iOS. 2011-11-23 16:14:35 +00:00
ios Turn on more warnings in ios / mac projects. 2012-09-21 07:58:25 +00:00
linux Make Linux signal handler more robust. 2012-10-09 18:03:25 +00:00
mac Update dump_syms to correctly filter on cpu subtype. 2012-10-04 13:26:47 +00:00
solaris/handler Rename md5.c to md5.cc, put its contents inside the google_breakpad namespace. 2011-11-18 21:40:27 +00:00
windows Fix a really stupid bug in WriteMinidumpForChildProcess 2012-09-24 18:36:34 +00:00
minidump_file_writer-inl.h Clean up build for 64 bit. 2010-07-19 20:43:49 +00:00
minidump_file_writer.cc Adding a way to create an ExceptionHandler that takes in a file descriptor 2012-08-09 22:59:58 +00:00
minidump_file_writer.h Adding a way to create an ExceptionHandler that takes in a file descriptor 2012-08-09 22:59:58 +00:00
minidump_file_writer_unittest.cc Turn on more warnings in ios / mac projects. 2012-09-21 07:58:25 +00:00