| Index: mojo/edk/system/dispatcher.cc
|
| diff --git a/mojo/edk/system/dispatcher.cc b/mojo/edk/system/dispatcher.cc
|
| index f143d5706cf734a8b414804ae6c0f8e059b0b0cf..8f6580102f9c507aae7f2eb6a7ebc89d0bdd7e39 100644
|
| --- a/mojo/edk/system/dispatcher.cc
|
| +++ b/mojo/edk/system/dispatcher.cc
|
| @@ -8,6 +8,7 @@
|
| #include "mojo/edk/system/configuration.h"
|
| #include "mojo/edk/system/data_pipe_consumer_dispatcher.h"
|
| #include "mojo/edk/system/data_pipe_producer_dispatcher.h"
|
| +#include "mojo/edk/system/handle.h"
|
| #include "mojo/edk/system/handle_transport.h"
|
| #include "mojo/edk/system/message_pipe_dispatcher.h"
|
| #include "mojo/edk/system/platform_handle_dispatcher.h"
|
| @@ -24,8 +25,8 @@ namespace system {
|
| namespace test {
|
|
|
| // TODO(vtl): Maybe this should be defined in a test-only file instead.
|
| -DispatcherTransport DispatcherTryStartTransport(Dispatcher* dispatcher) {
|
| - return Dispatcher::HandleTableAccess::TryStartTransport(dispatcher);
|
| +DispatcherTransport HandleTryStartTransport(const Handle& handle) {
|
| + return Dispatcher::HandleTableAccess::TryStartTransport(handle);
|
| }
|
|
|
| } // namespace test
|
| @@ -34,18 +35,18 @@ DispatcherTransport DispatcherTryStartTransport(Dispatcher* dispatcher) {
|
| // fact that we give up if |TryLock()| fails.
|
| // static
|
| DispatcherTransport Dispatcher::HandleTableAccess::TryStartTransport(
|
| - Dispatcher* dispatcher) MOJO_NO_THREAD_SAFETY_ANALYSIS {
|
| - DCHECK(dispatcher);
|
| + const Handle& handle) MOJO_NO_THREAD_SAFETY_ANALYSIS {
|
| + DCHECK(handle.dispatcher);
|
|
|
| - if (!dispatcher->mutex_.TryLock())
|
| + if (!handle.dispatcher->mutex_.TryLock())
|
| return DispatcherTransport();
|
|
|
| // We shouldn't race with things that close dispatchers, since closing can
|
| // only take place either under |handle_table_mutex_| or when the handle is
|
| // marked as busy.
|
| - DCHECK(!dispatcher->is_closed_);
|
| + DCHECK(!handle.dispatcher->is_closed_);
|
|
|
| - return DispatcherTransport(dispatcher);
|
| + return DispatcherTransport(handle);
|
| }
|
|
|
| // static
|
|
|