| Index: chrome/common/child_process.cc
|
| diff --git a/chrome/common/child_process.cc b/chrome/common/child_process.cc
|
| index 979418f346ddef9acabf031bf1dc92a3808ae936..539d8a33903f8e1cc2561bb3df4af20077f47254 100644
|
| --- a/chrome/common/child_process.cc
|
| +++ b/chrome/common/child_process.cc
|
| @@ -10,13 +10,14 @@
|
| #include "base/basictypes.h"
|
| #include "base/command_line.h"
|
| #include "base/string_util.h"
|
| +#include "base/waitable_event.h"
|
| #include "chrome/common/chrome_switches.h"
|
| #include "webkit/glue/webkit_glue.h"
|
|
|
| ChildProcess* ChildProcess::child_process_;
|
| MessageLoop* ChildProcess::main_thread_loop_;
|
| static base::AtomicRefCount ref_count;
|
| -HANDLE ChildProcess::shutdown_event_;
|
| +base::WaitableEvent* ChildProcess::shutdown_event_;
|
|
|
|
|
| ChildProcess::ChildProcess() {
|
| @@ -51,7 +52,7 @@ void ChildProcess::OnFinalRelease() {
|
| main_thread_loop_->PostTask(FROM_HERE, new MessageLoop::QuitTask());
|
| }
|
|
|
| -HANDLE ChildProcess::GetShutDownEvent() {
|
| +base::WaitableEvent* ChildProcess::GetShutDownEvent() {
|
| return shutdown_event_;
|
| }
|
|
|
| @@ -74,7 +75,7 @@ bool ChildProcess::GlobalInit(const std::wstring &channel_name,
|
| main_thread_loop_ = MessageLoop::current();
|
|
|
| // An event that will be signalled when we shutdown.
|
| - shutdown_event_ = CreateEvent(NULL, TRUE, FALSE, NULL);
|
| + shutdown_event_ = new base::WaitableEvent(true, false);
|
|
|
| child_process_ = factory->Create(channel_name);
|
|
|
| @@ -92,7 +93,7 @@ void ChildProcess::GlobalCleanup() {
|
| // background threads.
|
| // For example, in the renderer the RenderThread instances will be able to
|
| // notice shutdown before the render process begins waiting for them to exit.
|
| - SetEvent(shutdown_event_);
|
| + shutdown_event_->Signal();
|
|
|
| // Destroy the child process first to force all background threads to
|
| // terminate before we bring down other resources. (We null pointers
|
| @@ -103,7 +104,7 @@ void ChildProcess::GlobalCleanup() {
|
|
|
| main_thread_loop_ = NULL;
|
|
|
| - CloseHandle(shutdown_event_);
|
| + delete shutdown_event_;
|
| shutdown_event_ = NULL;
|
| }
|
|
|
|
|