summaryrefslogtreecommitdiffstats
path: root/ipc/chromium/src/mojo/core/ports/port_locker.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ipc/chromium/src/mojo/core/ports/port_locker.cc')
-rw-r--r--ipc/chromium/src/mojo/core/ports/port_locker.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/ipc/chromium/src/mojo/core/ports/port_locker.cc b/ipc/chromium/src/mojo/core/ports/port_locker.cc
index 044a26f143..a09bed31c3 100644
--- a/ipc/chromium/src/mojo/core/ports/port_locker.cc
+++ b/ipc/chromium/src/mojo/core/ports/port_locker.cc
@@ -36,6 +36,10 @@ PortLocker::PortLocker(const PortRef** port_refs, size_t num_ports)
UpdateTLS(nullptr, this);
#endif
+#ifdef MOZ_USE_SINGLETON_PORT_MUTEX
+ detail::PortMutex::sSingleton.Lock();
+#endif
+
// Sort the ports by address to lock them in a globally consistent order.
std::sort(
port_refs_, port_refs_ + num_ports_,
@@ -52,6 +56,10 @@ PortLocker::~PortLocker() {
port_refs_[i]->port()->lock_.Unlock();
}
+#ifdef MOZ_USE_SINGLETON_PORT_MUTEX
+ detail::PortMutex::sSingleton.Unlock();
+#endif
+
#ifdef DEBUG
UpdateTLS(this, nullptr);
#endif