diff options
| author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-12 03:18:50 +0000 |
|---|---|---|
| committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-12 03:18:50 +0000 |
| commit | 7344c80bf52884bb335e903b17e98dc31cef51d7 (patch) | |
| tree | 0e4840cd9dfde93b4778445e87b258b3040086de | |
| parent | 146ffbb0e22fca721e5792d32d78d7fe10bbbc5a (diff) | |
| download | chromium_src-7344c80bf52884bb335e903b17e98dc31cef51d7.zip chromium_src-7344c80bf52884bb335e903b17e98dc31cef51d7.tar.gz chromium_src-7344c80bf52884bb335e903b17e98dc31cef51d7.tar.bz2 | |
Merge trunk r84979 to the 742 branch (M12)
Treat TERMINATION_STATUS_ABNORMAL_TERMINATION in browser child processes as
crashes. Child processes on the Mac that are Breakpad-enabled will not appear
to have crashed according to the logic in base::GetTerminationStatus, they'll
show up as TERMINATION_STATUS_ABNORMAL_TERMINATION instead of
TERMINATION_STATUS_PROCESS_CRASHED. This happens because they exit from their
crash handler to suppress the system's redundant crash handler. This broke in
r69082, which introduced the TerminationStatus enum to replace a simpler
did_crash boolean value set by logic treating both death by signal and
nonzero exit status as a crash.
BUG=82172
TEST=Mac plugin crash count
Review URL: http://codereview.chromium.org/7002032
Review URL: http://codereview.chromium.org/7012008
git-svn-id: svn://svn.chromium.org/chrome/branches/742/src@85097 0039d316-1c4b-4281-b951-d872f2087c98
| -rw-r--r-- | content/browser/browser_child_process_host.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/content/browser/browser_child_process_host.cc b/content/browser/browser_child_process_host.cc index 43759e1..a38ee93 100644 --- a/content/browser/browser_child_process_host.cc +++ b/content/browser/browser_child_process_host.cc @@ -143,7 +143,8 @@ void BrowserChildProcessHost::OnChildDied() { int exit_code; base::TerminationStatus status = GetChildTerminationStatus(&exit_code); switch (status) { - case base::TERMINATION_STATUS_PROCESS_CRASHED: { + case base::TERMINATION_STATUS_PROCESS_CRASHED: + case base::TERMINATION_STATUS_ABNORMAL_TERMINATION: { OnProcessCrashed(exit_code); // Report that this child process crashed. |
