Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1533)

Unified Diff: third_party/mojo/src/mojo/edk/system/master_connection_manager.h

Issue 1311043003: Update mojo sdk to rev c02a28868825edfa57ab77947b8cb15e741c5598 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/mojo/src/mojo/edk/system/master_connection_manager.h
diff --git a/third_party/mojo/src/mojo/edk/system/master_connection_manager.h b/third_party/mojo/src/mojo/edk/system/master_connection_manager.h
index b7992c8846364e418e2e66daa845bd5b260b7fd8..497f449e13f01f3699efcb9a720cc0d298d3da5d 100644
--- a/third_party/mojo/src/mojo/edk/system/master_connection_manager.h
+++ b/third_party/mojo/src/mojo/edk/system/master_connection_manager.h
@@ -9,10 +9,10 @@
#include "base/containers/hash_tables.h"
#include "base/memory/ref_counted.h"
-#include "base/synchronization/lock.h"
#include "base/threading/thread.h"
#include "mojo/edk/embedder/scoped_platform_handle.h"
#include "mojo/edk/system/connection_manager.h"
+#include "mojo/edk/system/mutex.h"
#include "mojo/edk/system/system_impl_export.h"
#include "mojo/public/cpp/system/macros.h"
@@ -51,7 +51,8 @@ class MOJO_SYSTEM_IMPL_EXPORT MasterConnectionManager final
// thread", on which |master_process_delegate|'s methods will be called. Both
// must stay alive at least until after |Shutdown()| has been called.
void Init(scoped_refptr<base::TaskRunner> delegate_thread_task_runner,
- embedder::MasterProcessDelegate* master_process_delegate);
+ embedder::MasterProcessDelegate* master_process_delegate)
+ MOJO_NOT_THREAD_SAFE;
// Adds a slave process and sets up/tracks a connection to that slave (using
// |platform_handle|). |slave_info| is used by the caller/implementation of
@@ -75,12 +76,12 @@ class MOJO_SYSTEM_IMPL_EXPORT MasterConnectionManager final
const ConnectionIdentifier& connection_id);
// |ConnectionManager| methods:
- void Shutdown() override;
+ void Shutdown() override MOJO_NOT_THREAD_SAFE;
bool AllowConnect(const ConnectionIdentifier& connection_id) override;
bool CancelConnect(const ConnectionIdentifier& connection_id) override;
- bool Connect(const ConnectionIdentifier& connection_id,
- ProcessIdentifier* peer_process_identifier,
- embedder::ScopedPlatformHandle* platform_handle) override;
+ Result Connect(const ConnectionIdentifier& connection_id,
+ ProcessIdentifier* peer_process_identifier,
+ embedder::ScopedPlatformHandle* platform_handle) override;
private:
class Helper;
@@ -91,13 +92,13 @@ class MOJO_SYSTEM_IMPL_EXPORT MasterConnectionManager final
const ConnectionIdentifier& connection_id);
bool CancelConnectImpl(ProcessIdentifier process_identifier,
const ConnectionIdentifier& connection_id);
- bool ConnectImpl(ProcessIdentifier process_identifier,
- const ConnectionIdentifier& connection_id,
- ProcessIdentifier* peer_process_identifier,
- embedder::ScopedPlatformHandle* platform_handle);
+ Result ConnectImpl(ProcessIdentifier process_identifier,
+ const ConnectionIdentifier& connection_id,
+ ProcessIdentifier* peer_process_identifier,
+ embedder::ScopedPlatformHandle* platform_handle);
// These should only be called on |private_thread_|:
- void ShutdownOnPrivateThread();
+ void ShutdownOnPrivateThread() MOJO_NOT_THREAD_SAFE;
// Signals |*event| on completion.
void AddSlaveOnPrivateThread(embedder::SlaveInfo slave_info,
embedder::ScopedPlatformHandle platform_handle,
@@ -132,15 +133,15 @@ class MOJO_SYSTEM_IMPL_EXPORT MasterConnectionManager final
// The following members are only accessed on |private_thread_|:
base::hash_map<ProcessIdentifier, Helper*> helpers_; // Owns its values.
- // Protects the members below (except in the constructor, |Init()|,
- // |Shutdown()|/|ShutdownOnPrivateThread()|, and the destructor).
- base::Lock lock_;
+ // Note: |mutex_| is not needed in the constructor, |Init()|,
+ // |Shutdown()|/|ShutdownOnPrivateThread()|, or the destructor
+ Mutex mutex_;
- ProcessIdentifier next_process_identifier_;
+ ProcessIdentifier next_process_identifier_ MOJO_GUARDED_BY(mutex_);
struct PendingConnectionInfo;
base::hash_map<ConnectionIdentifier, PendingConnectionInfo*>
- pending_connections_; // Owns its values.
+ pending_connections_ MOJO_GUARDED_BY(mutex_); // Owns its values.
MOJO_DISALLOW_COPY_AND_ASSIGN(MasterConnectionManager);
};

Powered by Google App Engine
This is Rietveld 408576698