aboutsummaryrefslogtreecommitdiff
path: root/libsanitizer/lsan/lsan_common_mac.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libsanitizer/lsan/lsan_common_mac.cpp')
-rw-r--r--libsanitizer/lsan/lsan_common_mac.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/libsanitizer/lsan/lsan_common_mac.cpp b/libsanitizer/lsan/lsan_common_mac.cpp
index 5204a66..c1804e9 100644
--- a/libsanitizer/lsan/lsan_common_mac.cpp
+++ b/libsanitizer/lsan/lsan_common_mac.cpp
@@ -193,8 +193,12 @@ void ProcessPlatformSpecificAllocations(Frontier *frontier) {
// causes rare race conditions.
void HandleLeaks() {}
-void DoStopTheWorld(StopTheWorldCallback callback, void *argument) {
+void LockStuffAndStopTheWorld(StopTheWorldCallback callback, void *argument) {
+ LockThreadRegistry();
+ LockAllocator();
StopTheWorld(callback, argument);
+ UnlockAllocator();
+ UnlockThreadRegistry();
}
} // namespace __lsan