Index: third_party/mojo/src/mojo/edk/system/endpoint_relayer.h |
diff --git a/third_party/mojo/src/mojo/edk/system/endpoint_relayer.h b/third_party/mojo/src/mojo/edk/system/endpoint_relayer.h |
index 8b17a50b78c85343051f338c8821dfe6429d135c..cfeda2405ea19d309aaf0b8609c51e25e0c16bad 100644 |
--- a/third_party/mojo/src/mojo/edk/system/endpoint_relayer.h |
+++ b/third_party/mojo/src/mojo/edk/system/endpoint_relayer.h |
@@ -7,8 +7,8 @@ |
#include "base/memory/ref_counted.h" |
#include "base/memory/scoped_ptr.h" |
-#include "base/synchronization/lock.h" |
#include "mojo/edk/system/channel_endpoint_client.h" |
+#include "mojo/edk/system/mutex.h" |
#include "mojo/edk/system/system_impl_export.h" |
#include "mojo/public/cpp/system/macros.h" |
@@ -68,7 +68,8 @@ class MOJO_SYSTEM_IMPL_EXPORT EndpointRelayer final |
static unsigned GetPeerPort(unsigned port); |
// Initialize this object. This must be called before any other method. |
- void Init(ChannelEndpoint* endpoint0, ChannelEndpoint* endpoint1); |
+ void Init(ChannelEndpoint* endpoint0, |
+ ChannelEndpoint* endpoint1) MOJO_NOT_THREAD_SAFE; |
// Sets (or resets) the filter, which can (optionally) handle/filter |
// |Type::ENDPOINT_CLIENT| messages (see |Filter| above). |
@@ -81,11 +82,9 @@ class MOJO_SYSTEM_IMPL_EXPORT EndpointRelayer final |
private: |
~EndpointRelayer() override; |
- // TODO(vtl): We could probably get away without the lock if we had a |
- // thread-safe |scoped_refptr|. |
- base::Lock lock_; // Protects the following members. |
- scoped_refptr<ChannelEndpoint> endpoints_[2]; |
- scoped_ptr<Filter> filter_; |
+ Mutex mutex_; |
+ scoped_refptr<ChannelEndpoint> endpoints_[2] MOJO_GUARDED_BY(mutex_); |
+ scoped_ptr<Filter> filter_ MOJO_GUARDED_BY(mutex_); |
MOJO_DISALLOW_COPY_AND_ASSIGN(EndpointRelayer); |
}; |