summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorArun Sharma <arun@sharma-home.net>2013-11-17 20:33:33 -0800
committerArun Sharma <arun@sharma-home.net>2013-11-17 20:33:33 -0800
commit85ce920cffea8380b03499dcbff6da56591d2b8f (patch)
tree34ff15c5e71d65879647d06d299ca29a4460dfe7 /include
parent2c3444d0f4821b159d60290c514a8aeba8d9061f (diff)
downloadlibunwind-85ce920cffea8380b03499dcbff6da56591d2b8f.tar.gz
Use adaptive mutexes when available.
Diffstat (limited to 'include')
-rw-r--r--include/libunwind_i.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/libunwind_i.h b/include/libunwind_i.h
index f412e6ac..0be551fb 100644
--- a/include/libunwind_i.h
+++ b/include/libunwind_i.h
@@ -186,8 +186,15 @@ static inline void mark_as_used(void *v UNUSED) {
# define SIGPROCMASK(how, new_mask, old_mask) mark_as_used(old_mask)
#endif
+/* Prefer adaptive mutexes if available */
+#ifdef PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+#define UNW_PTHREAD_MUTEX_INITIALIZER PTHREAD_ADAPTIVE_MUTEX_INITIALIZER_NP
+#else
+#define UNW_PTHREAD_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+#endif
+
#define define_lock(name) \
- pthread_mutex_t name = PTHREAD_MUTEX_INITIALIZER
+ pthread_mutex_t name = UNW_PTHREAD_MUTEX_INITIALIZER
#define lock_init(l) mutex_init (l)
#define lock_acquire(l,m) \
do { \