Index: ipc/ipc_mojo_bootstrap.cc |
diff --git a/ipc/ipc_mojo_bootstrap.cc b/ipc/ipc_mojo_bootstrap.cc |
index 7dc7484e091a81c3f4fa6543eb0adba3efd705da..2c554620e9d67b25c437202929b494397cfd2167 100644 |
--- a/ipc/ipc_mojo_bootstrap.cc |
+++ b/ipc/ipc_mojo_bootstrap.cc |
@@ -19,7 +19,6 @@ |
#include "base/single_thread_task_runner.h" |
#include "base/synchronization/lock.h" |
#include "base/threading/thread_task_runner_handle.h" |
-#include "ipc/mojo_event.h" |
#include "mojo/public/cpp/bindings/associated_group.h" |
#include "mojo/public/cpp/bindings/associated_group_controller.h" |
#include "mojo/public/cpp/bindings/connector.h" |
@@ -31,7 +30,7 @@ |
#include "mojo/public/cpp/bindings/pipe_control_message_handler.h" |
#include "mojo/public/cpp/bindings/pipe_control_message_handler_delegate.h" |
#include "mojo/public/cpp/bindings/pipe_control_message_proxy.h" |
-#include "mojo/public/cpp/bindings/sync_handle_watcher.h" |
+#include "mojo/public/cpp/bindings/sync_event_watcher.h" |
namespace IPC { |
@@ -436,7 +435,7 @@ class ChannelAssociatedGroupController |
DCHECK(!sync_watcher_); |
} |
- void OnSyncMessageEventHandleReady(MojoResult result) { |
+ void OnSyncMessageEventReady() { |
DCHECK(task_runner_->BelongsToCurrentThread()); |
scoped_refptr<Endpoint> keepalive(this); |
@@ -491,22 +490,18 @@ class ChannelAssociatedGroupController |
{ |
base::AutoLock locker(controller_->lock_); |
if (!sync_message_event_) { |
- sync_message_event_.reset(new MojoEvent); |
+ sync_message_event_ = base::MakeUnique<base::WaitableEvent>( |
+ base::WaitableEvent::ResetPolicy::MANUAL, |
+ base::WaitableEvent::InitialState::NOT_SIGNALED); |
if (peer_closed_ || !sync_messages_.empty()) |
SignalSyncMessageEvent(); |
} |
} |
- sync_watcher_.reset(new mojo::SyncHandleWatcher( |
- sync_message_event_->GetHandle(), MOJO_HANDLE_SIGNAL_READABLE, |
- base::Bind(&Endpoint::OnSyncMessageEventHandleReady, |
- base::Unretained(this)))); |
- } |
- |
- void EnsureSyncMessageEventExists() { |
- controller_->lock_.AssertAcquired(); |
- if (!sync_message_event_) |
- sync_message_event_.reset(new MojoEvent); |
+ sync_watcher_ = base::MakeUnique<mojo::SyncEventWatcher>( |
+ sync_message_event_.get(), |
+ base::Bind(&Endpoint::OnSyncMessageEventReady, |
+ base::Unretained(this))); |
} |
uint32_t GenerateSyncMessageId() { |
@@ -525,8 +520,8 @@ class ChannelAssociatedGroupController |
base::Optional<mojo::DisconnectReason> disconnect_reason_; |
mojo::InterfaceEndpointClient* client_ = nullptr; |
scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
- std::unique_ptr<mojo::SyncHandleWatcher> sync_watcher_; |
- std::unique_ptr<MojoEvent> sync_message_event_; |
+ std::unique_ptr<mojo::SyncEventWatcher> sync_watcher_; |
+ std::unique_ptr<base::WaitableEvent> sync_message_event_; |
std::queue<std::pair<uint32_t, MessageWrapper>> sync_messages_; |
uint32_t next_sync_message_id_ = 0; |