| Index: mojo/edk/system/wait_set_dispatcher.cc
|
| diff --git a/mojo/edk/system/wait_set_dispatcher.cc b/mojo/edk/system/wait_set_dispatcher.cc
|
| index fa8a56ca83d36b1b3341b12c9b98aaa1c878db06..1626f2ff24f5b2106aa7a1d1a022dff2d7b24fbe 100644
|
| --- a/mojo/edk/system/wait_set_dispatcher.cc
|
| +++ b/mojo/edk/system/wait_set_dispatcher.cc
|
| @@ -72,20 +72,24 @@ WaitSetDispatcher::CreateEquivalentDispatcherAndCloseImplNoLock(
|
| return nullptr;
|
| }
|
|
|
| -MojoResult WaitSetDispatcher::WaitSetAddImplNoLock(
|
| +MojoResult WaitSetDispatcher::WaitSetAddImpl(
|
| UserPointer<const MojoWaitSetAddOptions> options,
|
| Handle&& handle,
|
| MojoHandleSignals signals,
|
| uint64_t cookie) {
|
| - mutex().AssertHeld();
|
| + MutexLocker locker(&mutex());
|
| + if (is_closed_no_lock())
|
| + return MOJO_RESULT_INVALID_ARGUMENT;
|
|
|
| // TODO(vtl)
|
| NOTIMPLEMENTED();
|
| return MOJO_RESULT_UNIMPLEMENTED;
|
| }
|
|
|
| -MojoResult WaitSetDispatcher::WaitSetRemoveImplNoLock(uint64_t cookie) {
|
| - mutex().AssertHeld();
|
| +MojoResult WaitSetDispatcher::WaitSetRemoveImpl(uint64_t cookie) {
|
| + MutexLocker locker(&mutex());
|
| + if (is_closed_no_lock())
|
| + return MOJO_RESULT_INVALID_ARGUMENT;
|
|
|
| // TODO(vtl)
|
| NOTIMPLEMENTED();
|
|
|