From 421d1cd06fb54c660e0f251df5a0d6403a214670 Mon Sep 17 00:00:00 2001 From: "estade@chromium.org" Date: Tue, 21 Jul 2009 21:06:23 +0000 Subject: Revert r21117 as it caused reliability failures. Also included in this revert: r21165, r21180, and a couple valgrind suppression edits TBR=huanr Review URL: http://codereview.chromium.org/155876 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21216 0039d316-1c4b-4281-b951-d872f2087c98 --- chrome/common/child_process.h | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) (limited to 'chrome/common/child_process.h') diff --git a/chrome/common/child_process.h b/chrome/common/child_process.h index 5e125bc..1366a02 100644 --- a/chrome/common/child_process.h +++ b/chrome/common/child_process.h @@ -7,23 +7,21 @@ #include "base/basictypes.h" #include "base/scoped_ptr.h" -#include "base/thread.h" #include "base/waitable_event.h" -#include "chrome/common/child_thread.h" + +class ChildThread; // Base class for child processes of the browser process (i.e. renderer and // plugin host). This is a singleton object for each child process. class ChildProcess { public: - // Child processes should have an object that derives from this class. - ChildProcess(); + // Child processes should have an object that derives from this class. The + // constructor will return once ChildThread has started. + ChildProcess(ChildThread* child_thread); virtual ~ChildProcess(); - // Getter for the child process' main thread. - ChildThread* main_thread() { return main_thread_.get(); } - void set_main_thread(ChildThread* thread) { main_thread_.reset(thread); } - - MessageLoop* io_message_loop() { return io_thread_.message_loop(); } + // Getter for this process' main thread. + ChildThread* child_thread() { return child_thread_.get(); } // A global event object that is signalled when the main thread's message // loop exits. This gives background threads a way to observe the main @@ -47,19 +45,15 @@ class ChildProcess { static ChildProcess* current() { return child_process_; } private: + // NOTE: make sure that child_thread_ is listed before shutdown_event_, since + // it depends on it (indirectly through IPC::SyncChannel). + scoped_ptr child_thread_; + int ref_count_; // An event that will be signalled when we shutdown. base::WaitableEvent shutdown_event_; - // The thread that handles IO events. - base::Thread io_thread_; - - // NOTE: make sure that main_thread_ is listed after shutdown_event_, since - // it depends on it (indirectly through IPC::SyncChannel). Same for - // io_thread_. - scoped_ptr main_thread_; - // The singleton instance for this process. static ChildProcess* child_process_; -- cgit v1.1