summaryrefslogtreecommitdiffstats
path: root/JavaScriptCore/wtf/TCSpinLock.h
diff options
context:
space:
mode:
Diffstat (limited to 'JavaScriptCore/wtf/TCSpinLock.h')
-rw-r--r--JavaScriptCore/wtf/TCSpinLock.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/JavaScriptCore/wtf/TCSpinLock.h b/JavaScriptCore/wtf/TCSpinLock.h
index ced2283..4cf30c2 100644
--- a/JavaScriptCore/wtf/TCSpinLock.h
+++ b/JavaScriptCore/wtf/TCSpinLock.h
@@ -209,6 +209,13 @@ struct TCMalloc_SpinLock {
inline void Unlock() {
if (pthread_mutex_unlock(&private_lock_) != 0) CRASH();
}
+ bool IsHeld() {
+ if (pthread_mutex_trylock(&private_lock_))
+ return true;
+
+ Unlock();
+ return false;
+ }
};
#define SPINLOCK_INITIALIZER { PTHREAD_MUTEX_INITIALIZER }