diff options
author | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-02 13:03:03 +0000 |
---|---|---|
committer | tilghman <tilghman@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-02 13:03:03 +0000 |
commit | 9065f8fcc7045a3c5f3004a97b362e92155541ac (patch) | |
tree | 90e69965d5f84d54717830815f739c0c3a715760 /include/asterisk | |
parent | bf45a8b4ccb836b0a42ac281c7082992dc863826 (diff) |
Fix build on Solaris
Reported by: snuffy
Patch by: ys
Closes issue #11143
git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@88210 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk')
-rw-r--r-- | include/asterisk/lock.h | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h index 4417bf73f..14f432ac2 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 */ |