| Index: mojo/edk/system/message_pipe_dispatcher.cc
|
| diff --git a/mojo/edk/system/message_pipe_dispatcher.cc b/mojo/edk/system/message_pipe_dispatcher.cc
|
| index c7b4a32da6bad0e0cbea48ddc8b3e60683a01966..6bec9bb67fa00b3205fc266023eb97c4e905304a 100644
|
| --- a/mojo/edk/system/message_pipe_dispatcher.cc
|
| +++ b/mojo/edk/system/message_pipe_dispatcher.cc
|
| @@ -97,6 +97,27 @@ MojoResult MessagePipeDispatcher::Close() {
|
| return CloseNoLock();
|
| }
|
|
|
| +MojoResult MessagePipeDispatcher::Watch(MojoHandleSignals signals,
|
| + const Watcher::WatchCallback& callback,
|
| + uintptr_t context) {
|
| + base::AutoLock lock(signal_lock_);
|
| +
|
| + if (port_closed_ || in_transit_)
|
| + return MOJO_RESULT_INVALID_ARGUMENT;
|
| +
|
| + return awakables_.AddWatcher(
|
| + signals, callback, context, GetHandleSignalsStateNoLock());
|
| +}
|
| +
|
| +MojoResult MessagePipeDispatcher::CancelWatch(uintptr_t context) {
|
| + base::AutoLock lock(signal_lock_);
|
| +
|
| + if (port_closed_ || in_transit_)
|
| + return MOJO_RESULT_INVALID_ARGUMENT;
|
| +
|
| + return awakables_.RemoveWatcher(context);
|
| +}
|
| +
|
| MojoResult MessagePipeDispatcher::WriteMessage(
|
| const void* bytes,
|
| uint32_t num_bytes,
|
|
|