Fix for breakpad not generating a minidump in certain cases on OSX.
1)Fix logic inversion in IsCrashReporterEnabled(). 2)Don't intercept SIGPIPE in non-branded builds since it isn't fatal. 3)Roll DEPS to pickup a bunch of Mac Breakpad fixes. When breakpad is disabled, we intercept a bunch of signals so that we can crash fast, without waiting for Apple's crash reporter. The problem was that the function we where using to test whether breakpad was enabled was wrong so we were always installing these signal handlers which where just calling exit(). By fixing the IsCrashReporterEnabled() call, we no longer install these signal handlers if Breakpad is enabled. In any case SIGPIPE is non-fatal so we remove it from the list of signals we intercept. There have been a number of fixes to the OSX version of Breakpad recently, so we pull those in as well. BUG=11929 Review URL: http://codereview.chromium.org/115493 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16346 0039d316-1c4b-4281-b951-d872f2087c98
Esse commit está contido em:
+1
-1
@@ -7,7 +7,7 @@ vars = {
|
||||
|
||||
deps = {
|
||||
"src/breakpad/src":
|
||||
"http://google-breakpad.googlecode.com/svn/trunk/src@328",
|
||||
"http://google-breakpad.googlecode.com/svn/trunk/src@339",
|
||||
|
||||
"src/googleurl":
|
||||
"http://google-url.googlecode.com/svn/trunk@103",
|
||||
|
||||
@@ -25,10 +25,9 @@ void DebugUtil::DisableOSCrashDumps() {
|
||||
SIGBUS,
|
||||
SIGSEGV,
|
||||
SIGSYS,
|
||||
SIGPIPE,
|
||||
SIGXCPU,
|
||||
SIGXFSZ};
|
||||
// For all these signals, just wire thing sup so we exit immediately.
|
||||
// For all these signals, just wire things up so we exit immediately.
|
||||
for (size_t i = 0; i < arraysize(signals_to_intercept); ++i) {
|
||||
signal(signals_to_intercept[i], ExitSignalHandler);
|
||||
}
|
||||
|
||||
@@ -45,7 +45,7 @@ BreakpadRef gBreakpadRef = NULL;
|
||||
} // namespace
|
||||
|
||||
bool IsCrashReporterEnabled() {
|
||||
return gBreakpadRef == NULL;
|
||||
return gBreakpadRef != NULL;
|
||||
}
|
||||
|
||||
void DestructCrashReporter() {
|
||||
|
||||
Referência em uma Nova Issue
Bloquear um usuário