| Index: mojo/edk/system/core.cc
|
| diff --git a/mojo/edk/system/core.cc b/mojo/edk/system/core.cc
|
| index 80c3d367ba16858731d2c0527c4c073a7faee245..887a9a7fdc32e1ae66fd0f703a7a9d9fce9c1896 100644
|
| --- a/mojo/edk/system/core.cc
|
| +++ b/mojo/edk/system/core.cc
|
| @@ -97,6 +97,15 @@ scoped_refptr<Dispatcher> Core::GetDispatcher(MojoHandle handle) {
|
| return handle_table_.GetDispatcher(handle);
|
| }
|
|
|
| +MojoResult Core::GetAndRemoveDispatcher(MojoHandle handle,
|
| + scoped_refptr<Dispatcher>* dispatcher) {
|
| + if (handle == MOJO_HANDLE_INVALID)
|
| + return MOJO_RESULT_INVALID_ARGUMENT;
|
| +
|
| + base::AutoLock locker(handle_table_lock_);
|
| + return handle_table_.GetAndRemoveDispatcher(handle, dispatcher);
|
| +}
|
| +
|
| MojoResult Core::AsyncWait(MojoHandle handle,
|
| MojoHandleSignals signals,
|
| const base::Callback<void(MojoResult)>& callback) {
|
|
|