aboutsummaryrefslogtreecommitdiffstats
path: root/include/asterisk/lock.h
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-04-27 21:34:27 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2003-04-27 21:34:27 +0000
commit246797b309ef964e7bd9ac2082d0ef42944c0e9d (patch)
tree4f1a556ee7a811109d8fb9674e218052955e0083 /include/asterisk/lock.h
parentdccdbdeeb39de2990741e60c9d85013c807f3e93 (diff)
More contributed BSD enhancements
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@919 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk/lock.h')
-rwxr-xr-xinclude/asterisk/lock.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h
index bde1e6ada..d27e295b4 100755
--- a/include/asterisk/lock.h
+++ b/include/asterisk/lock.h
@@ -29,10 +29,17 @@
// #define AST_MUTEX_KIND PTHREAD_MUTEX_RECURSIVE_NP
#ifdef PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
#define AST_MUTEX_INITIALIZER PTHREAD_ERRORCHECK_MUTEX_INITIALIZER_NP
+#else
+#ifdef PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+#define AST_MUTEX_INITIALIZER PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
+#else
+#define AST_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+#endif
+#endif
+#ifdef PTHREAD_MUTEX_ERRORCHECK_NP
#define AST_MUTEX_KIND PTHREAD_MUTEX_ERRORCHECK_NP
#else
-#define AST_MUTEX_INITIALIZER PTHREAD_RECURSIVE_MUTEX_INITIALIZER_NP
-#define AST_MUTEX_KIND PTHREAD_MUTEX_RECURSIVE_NP
+#define AST_MUTEX_KIND PTHREAD_MUTEX_ERRORCHECK
#endif
struct mutex_info {
@@ -96,7 +103,11 @@ static inline int __ast_pthread_mutex_unlock(char *filename, int lineno, char *f
#else
#define AST_MUTEX_INITIALIZER PTHREAD_MUTEX_INITIALIZER
+#ifdef PTHREAD_MUTEX_FAST_NP
#define AST_MUTEX_KIND PTHREAD_MUTEX_FAST_NP
+#else
+#define AST_MUTEX_KIND PTHREAD_NORMAL
+#endif
#define ast_pthread_mutex_init(mutex) pthread_mutex_init(mutex, NULL)
#define ast_pthread_mutex_lock pthread_mutex_lock