Merged revisions 88210 via svnmerge from
authorTilghman Lesher <tilghman@meg.abyt.es>
Fri, 2 Nov 2007 13:10:29 +0000 (13:10 +0000)
committerTilghman Lesher <tilghman@meg.abyt.es>
Fri, 2 Nov 2007 13:10:29 +0000 (13:10 +0000)
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: https://origsvn.digium.com/svn/asterisk/trunk@88211 65c4cc65-6c06-0410-ace0-fbb531ad65f3

include/asterisk/lock.h

index bd777f0..5958aa4 100644 (file)
@@ -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 */