[prev in list] [next in list] [prev in thread] [next in thread]
List: asterisk-dev
Subject: [Asterisk-Dev] More portable pthread initializers
From: Thorsten Lockert <tholo () sigmasoft ! com>
Date: 2003-04-27 20:41:57
Message-ID: 200304272041.h3RKfwlq015494 () mail ! sigmasoft ! com
[Download RAW message or body]
Some of the pthread initializers used by Asterisk are non-standard,
this patch will use more standard ones where the non-standard ones
are not available.
Index: include/asterisk/lock.h
===================================================================
RCS file: /usr/cvsroot/asterisk/include/asterisk/lock.h,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 lock.h
--- include/asterisk/lock.h 12 Feb 2003 13:59:15 -0000 1.1.1.1
+++ include/asterisk/lock.h 27 Apr 2003 20:47:06 -0000
@@ -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 @@
#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
--
Thorsten Lockert | tholo@sigmasoft.com | Universe, n.:
2121 N. Lakeshore Dr. | tholo@openbsd.org | The problem.
Chapel Hill, NC 27514 | |
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic