diff options
author | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-11 15:05:26 +0000 |
---|---|---|
committer | mark@chromium.org <mark@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-05-11 15:05:26 +0000 |
commit | 7cf745058a3ed22b59d3c1df5cf99b1f80562641 (patch) | |
tree | 15b8b07d2630e5c6d8d81e715c2152fe4dd2390b | |
parent | 4633282c8a0f54e066aed904bfeb590d9c8a58db (diff) | |
download | chromium_src-7cf745058a3ed22b59d3c1df5cf99b1f80562641.zip chromium_src-7cf745058a3ed22b59d3c1df5cf99b1f80562641.tar.gz chromium_src-7cf745058a3ed22b59d3c1df5cf99b1f80562641.tar.bz2 |
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
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@84979 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 c5528d6..ad378c8 100644 --- a/content/browser/browser_child_process_host.cc +++ b/content/browser/browser_child_process_host.cc @@ -124,7 +124,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. |