diff options
author | Primiano Tucci <primiano@chromium.org> | 2015-05-19 09:40:17 +0100 |
---|---|---|
committer | Primiano Tucci <primiano@chromium.org> | 2015-05-19 08:41:28 +0000 |
commit | 8ec7d8588388c2f8884a92f625ea912597bb41dd (patch) | |
tree | 75a7bba692fb1a8815bfbbe3639d7af25d586a8d | |
parent | 460647e0f9b26ece4a878e1b7c37b9f722073782 (diff) | |
download | chromium_src-8ec7d8588388c2f8884a92f625ea912597bb41dd.zip chromium_src-8ec7d8588388c2f8884a92f625ea912597bb41dd.tar.gz chromium_src-8ec7d8588388c2f8884a92f625ea912597bb41dd.tar.bz2 |
Roll breakpad and fix signal propagation for WebView crash handler
This applies the fix described in https://breakpad.appspot.com/6844002
to both Breakpad and the 2nd Android WebView crash handler (aw_crash_handler)
aw_crash_handler, which is soon to be deprecated and incorporated in
the breakpad microdump one, prints the version code upon a crash,
reuses the same breakpad signal handling logic and, threrefore,
requires the same fix.
The following revision is pulled in by the breakpad roll:
https://chromium.googlesource.com/external/google-breakpad/src/+/9fcbe255a64d39295ad5f1f15c0b92db3da83c0f
BUG=483399
Review URL: https://codereview.chromium.org/1113353002
Cr-Commit-Position: refs/heads/master@{#327921}
(cherry picked from commit e5e3d99fedbb267b55b33376ff82eb244291579d)
TBR=kerz@chromium.org,torne@chromium.org
Review URL: https://codereview.chromium.org/1145763003
Cr-Commit-Position: refs/branch-heads/2357@{#407}
Cr-Branched-From: 59d4494849b405682265ed5d3f5164573b9a939b-refs/heads/master@{#323860}
-rw-r--r-- | android_webview/common/aw_crash_handler.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/android_webview/common/aw_crash_handler.cc b/android_webview/common/aw_crash_handler.cc index bbdc61b..ae0f045 100644 --- a/android_webview/common/aw_crash_handler.cc +++ b/android_webview/common/aw_crash_handler.cc @@ -49,7 +49,7 @@ void AwExceptionHandler(int sig, siginfo_t* info, void* uc) { } } - if ((info != NULL && info->si_pid) || sig == SIGABRT) { + if ((info != NULL && SI_FROMUSER(info)) || sig == SIGABRT) { // This signal was triggered by somebody sending us the signal with kill(). // In order to retrigger it, we have to queue a new signal by calling // kill() ourselves. The special case (si_pid == 0 && sig == SIGABRT) is |