diff options
author | hbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-16 05:47:29 +0000 |
---|---|---|
committer | hbono@chromium.org <hbono@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-16 05:47:29 +0000 |
commit | 12fed8181cf1c2fa4d211e8476f0b4339a1af726 (patch) | |
tree | 57f5aca3d5d2eff976849b960350ea43c7acdf61 /content/browser/browser_child_process_host.h | |
parent | cb656de64b8e198c1685fa3bd2990f4d50977a03 (diff) | |
download | chromium_src-12fed8181cf1c2fa4d211e8476f0b4339a1af726.zip chromium_src-12fed8181cf1c2fa4d211e8476f0b4339a1af726.tar.gz chromium_src-12fed8181cf1c2fa4d211e8476f0b4339a1af726.tar.bz2 |
Revert 101435 - Better account crashes for the BrowserChildProcessHost (and derived) for windows
The issue here is that OnChildDied() can be called before the process is actually dead, in suchcases the GetChildTerminationStatus returns TERMINATION_STATUS_STILL_RUNNING, because we don'thave yet the actual return code which we ignore in BrowserChildProcessHost. Now we wait until we have the actual return code. This is going to increase the count for the following histograms:ChildProcess.CrashesChildProcess.Kills And will also increase the counts of histograms (if any) on the derived classes:PluginProcessHostUtilityProcessHostGpuProcessHostPpapiPluginProcessHostNaClProcessHostWorkerProcessHostProfileImportProcessHost
and also for renderers:BrowserRenderProcessHostBUG=96059TEST=see bug
Review URL: http://codereview.chromium.org/7888070
TBR=cpu@chromium.org
Review URL: http://codereview.chromium.org/7926006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@101459 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/browser/browser_child_process_host.h')
-rw-r--r-- | content/browser/browser_child_process_host.h | 17 |
1 files changed, 2 insertions, 15 deletions
diff --git a/content/browser/browser_child_process_host.h b/content/browser/browser_child_process_host.h index 499b632..bf5b881 100644 --- a/content/browser/browser_child_process_host.h +++ b/content/browser/browser_child_process_host.h @@ -8,16 +8,11 @@ #include <list> -#include "base/synchronization/waitable_event_watcher.h" #include "content/browser/child_process_launcher.h" #include "content/common/child_process_host.h" #include "content/common/child_process_info.h" #include "content/common/content_export.h" -namespace base { -class WaitableEvent; -} - // Plugins/workers and other child processes that live on the IO thread should // derive from this class. // @@ -26,14 +21,10 @@ class WaitableEvent; class CONTENT_EXPORT BrowserChildProcessHost : public ChildProcessHost, public ChildProcessInfo, - public ChildProcessLauncher::Client, - public base::WaitableEventWatcher::Delegate { + public ChildProcessLauncher::Client { public: virtual ~BrowserChildProcessHost(); - virtual void OnWaitableEventSignaled( - base::WaitableEvent* waitable_event) OVERRIDE; - // Terminates all child processes and deletes each ChildProcessHost instance. static void TerminateAll(); @@ -96,7 +87,7 @@ class CONTENT_EXPORT BrowserChildProcessHost : virtual base::TerminationStatus GetChildTerminationStatus(int* exit_code); // Overrides from ChildProcessHost - virtual void OnChildDisconnected(); + virtual void OnChildDied(); virtual void ShutdownStarted(); virtual void Notify(int type); // Extends the base class implementation and removes this host from @@ -120,10 +111,6 @@ class CONTENT_EXPORT BrowserChildProcessHost : }; ClientHook client_; scoped_ptr<ChildProcessLauncher> child_process_; -#if defined(OS_WIN) - base::WaitableEventWatcher child_watcher_; -#endif - bool disconnect_was_alive_; }; #endif // CONTENT_BROWSER_BROWSER_CHILD_PROCESS_HOST_H_ |