aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authortilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-02 13:10:29 +0000
committertilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-02 13:10:29 +0000
commit991e435f45f3e476f2c7dfbe2a936bcd872fe403 (patch)
tree7ef836798b0d15659a3a11265b3c71b038b933b2 /include
parent40e214cbcd0043866fdb78879e1eb48f0c63a657 (diff)
Merged revisions 88210 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r88210 | tilghman | 2007-11-02 08:03:03 -0500 (Fri, 02 Nov 2007) | 5 lines Fix build on Solaris Reported by: snuffy Patch by: ys Closes issue #11143 ........ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@88211 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/lock.h58
1 files changed, 29 insertions, 29 deletions
diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h
index bd777f044..5958aa477 100644
--- a/include/asterisk/lock.h
+++ b/include/asterisk/lock.h
@@ -675,11 +675,11 @@ static inline int ast_mutex_init(ast_mutex_t *pmutex)
int res;
pthread_mutexattr_t attr;
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for already init'ed mutex for BSD */
- if (*pmutex != PTHREAD_MUTEX_INITIALIZER)
+ if (*pmutex != ((pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER))
return 0;
-#endif
+#endif /* BSD */
pthread_mutexattr_init(&attr);
pthread_mutexattr_settype(&attr, AST_MUTEX_KIND);
@@ -692,42 +692,42 @@ static inline int ast_mutex_init(ast_mutex_t *pmutex)
static inline int ast_mutex_unlock(ast_mutex_t *pmutex)
{
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for uninitialized mutex for BSD */
- if (*pmutex == PTHREAD_MUTEX_INITIALIZER) {
+ if (*pmutex == ((pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER)) {
ast_mutex_init(pmutex);
return 0;
}
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
return pthread_mutex_unlock(pmutex);
}
static inline int ast_mutex_destroy(ast_mutex_t *pmutex)
{
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
- if (*pmutex == PTHREAD_MUTEX_INITIALIZER)
+#ifdef BSD
+ if (*pmutex == ((pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER))
return 0;
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
return pthread_mutex_destroy(pmutex);
}
static inline int ast_mutex_lock(ast_mutex_t *pmutex)
{
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for uninitialized mutex for BSD */
- if (*pmutex == PTHREAD_MUTEX_INITIALIZER)
+ if (*pmutex == ((pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER))
ast_mutex_init(pmutex);
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
__MTX_PROF(pmutex);
}
static inline int ast_mutex_trylock(ast_mutex_t *pmutex)
{
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for uninitialized mutex for BSD */
- if (*pmutex == PTHREAD_MUTEX_INITIALIZER)
+ if (*pmutex == ((pthread_mutex_t) PTHREAD_MUTEX_INITIALIZER))
ast_mutex_init(pmutex);
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
return pthread_mutex_trylock(pmutex);
}
@@ -1037,11 +1037,11 @@ static inline int ast_rwlock_init(ast_rwlock_t *prwlock)
int res;
pthread_rwlockattr_t attr;
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for already init'ed lock for BSD */
if (*prwlock != ((ast_rwlock_t) AST_RWLOCK_INIT_VALUE))
return 0;
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
pthread_rwlockattr_init(&attr);
#ifdef HAVE_PTHREAD_RWLOCK_PREFER_WRITER_NP
@@ -1055,67 +1055,67 @@ static inline int ast_rwlock_init(ast_rwlock_t *prwlock)
static inline int ast_rwlock_destroy(ast_rwlock_t *prwlock)
{
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for uninitialized mutex for BSD */
if (*prwlock == ((ast_rwlock_t) AST_RWLOCK_INIT_VALUE))
return 0;
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
return pthread_rwlock_destroy(prwlock);
}
static inline int ast_rwlock_unlock(ast_rwlock_t *prwlock)
{
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for uninitialized lock for BSD */
if (*prwlock == ((ast_rwlock_t) AST_RWLOCK_INIT_VALUE)) {
ast_rwlock_init(prwlock);
return 0;
}
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
return pthread_rwlock_unlock(prwlock);
}
static inline int ast_rwlock_rdlock(ast_rwlock_t *prwlock)
{
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for uninitialized lock for BSD */
if (*prwlock == ((ast_rwlock_t) AST_RWLOCK_INIT_VALUE)) {
ast_rwlock_init(prwlock);
}
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
return pthread_rwlock_rdlock(prwlock);
}
static inline int ast_rwlock_tryrdlock(ast_rwlock_t *prwlock)
{
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for uninitialized lock for BSD */
if (*prwlock == ((ast_rwlock_t) AST_RWLOCK_INIT_VALUE)) {
ast_rwlock_init(prwlock);
}
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
return pthread_rwlock_tryrdlock(prwlock);
}
static inline int ast_rwlock_wrlock(ast_rwlock_t *prwlock)
{
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for uninitialized lock for BSD */
if (*prwlock == ((ast_rwlock_t) AST_RWLOCK_INIT_VALUE)) {
ast_rwlock_init(prwlock);
}
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
return pthread_rwlock_wrlock(prwlock);
}
static inline int ast_rwlock_trywrlock(ast_rwlock_t *prwlock)
{
-#ifdef AST_MUTEX_INIT_W_CONSTRUCTORS
+#ifdef BSD
/* Check for uninitialized lock for BSD */
if (*prwlock == ((ast_rwlock_t) AST_RWLOCK_INIT_VALUE)) {
ast_rwlock_init(prwlock);
}
-#endif /* AST_MUTEX_INIT_W_CONSTRUCTORS */
+#endif /* BSD */
return pthread_rwlock_trywrlock(prwlock);
}
#endif /* !DEBUG_THREADS */