| Index: ipc/ipc_sync_channel.h
|
| diff --git a/ipc/ipc_sync_channel.h b/ipc/ipc_sync_channel.h
|
| index 7738b7fa7cd26646128e8c852da577cf13485b98..3f65ef38be0c6d045d06cad41ffff6f85f89a53c 100644
|
| --- a/ipc/ipc_sync_channel.h
|
| +++ b/ipc/ipc_sync_channel.h
|
| @@ -22,6 +22,7 @@
|
| #include "mojo/public/cpp/system/simple_watcher.h"
|
|
|
| namespace base {
|
| +class RunLoop;
|
| class WaitableEvent;
|
| };
|
|
|
| @@ -32,7 +33,6 @@ class SyncHandleRegistry;
|
| namespace IPC {
|
|
|
| class ChannelFactory;
|
| -class MojoEvent;
|
| class SyncMessage;
|
|
|
| // This is similar to ChannelProxy, with the added feature of supporting sending
|
| @@ -151,11 +151,11 @@ class IPC_EXPORT SyncChannel : public ChannelProxy {
|
|
|
| // Returns a Mojo Event that signals when a sync send is complete or timed
|
| // out or the process shut down.
|
| - MojoEvent* GetSendDoneEvent();
|
| + base::WaitableEvent* GetSendDoneEvent();
|
|
|
| // Returns a Mojo Event that signals when an incoming message that's not the
|
| // pending reply needs to get dispatched (by calling DispatchMessages.)
|
| - MojoEvent* GetDispatchEvent();
|
| + base::WaitableEvent* GetDispatchEvent();
|
|
|
| void DispatchMessages();
|
|
|
| @@ -178,6 +178,9 @@ class IPC_EXPORT SyncChannel : public ChannelProxy {
|
| return restrict_dispatch_group_;
|
| }
|
|
|
| + void OnSendDoneEventSignaled(base::RunLoop* nested_loop,
|
| + base::WaitableEvent* event);
|
| +
|
| private:
|
| ~SyncContext() override;
|
| // ChannelProxy methods that we override.
|
| @@ -215,7 +218,7 @@ class IPC_EXPORT SyncChannel : public ChannelProxy {
|
| const scoped_refptr<base::SingleThreadTaskRunner>& ipc_task_runner,
|
| base::WaitableEvent* shutdown_event);
|
|
|
| - void OnDispatchHandleReady(MojoResult result);
|
| + void OnDispatchEventSignaled(base::WaitableEvent* event);
|
|
|
| SyncContext* sync_context() {
|
| return reinterpret_cast<SyncContext*>(context());
|
| @@ -240,7 +243,8 @@ class IPC_EXPORT SyncChannel : public ChannelProxy {
|
| scoped_refptr<mojo::SyncHandleRegistry> sync_handle_registry_;
|
|
|
| // Used to signal events between the IPC and listener threads.
|
| - mojo::SimpleWatcher dispatch_watcher_;
|
| + base::WaitableEventWatcher dispatch_watcher_;
|
| + base::WaitableEventWatcher::EventCallback dispatch_watcher_callback_;
|
|
|
| // Tracks SyncMessageFilters created before complete channel initialization.
|
| std::vector<scoped_refptr<SyncMessageFilter>> pre_init_sync_message_filters_;
|
|
|