simplify macro usage
authorKevin P. Fleming <kpfleming@digium.com>
Wed, 12 Apr 2006 23:33:47 +0000 (23:33 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Wed, 12 Apr 2006 23:33:47 +0000 (23:33 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19614 65c4cc65-6c06-0410-ace0-fbb531ad65f3

include/asterisk/lock.h

index e864623..e4276dd 100644 (file)
  * non-blocking calls.
  */
 #ifndef        HAVE_MTX_PROFILE
-#define        __MTX_PROF      /* nothing */
+#define        __MTX_PROF(a)   return pthread_mutex_lock((a))
 #else
-#define        __MTX_PROF      {                       \
+#define        __MTX_PROF(a)   do {                    \
        int i;                                  \
        /* profile only non-blocking events */  \
        ast_mark(mtx_prof, 1);                  \
-       i = pthread_mutex_trylock(pmutex);      \
+       i = pthread_mutex_trylock((a));         \
        ast_mark(mtx_prof, 0);                  \
        if (!i)                                 \
                return i;                       \
-       }
+       else                                    \
+               return pthread_mutex_lock((a)); \
+       } while (0)
 #endif /* HAVE_MTX_PROFILE */
 
 #include <pthread.h>
@@ -610,8 +612,7 @@ static void  __attribute__ ((destructor)) fini_##mutex(void) \
 
 static inline int ast_mutex_lock(ast_mutex_t *pmutex)
 {
-       __MTX_PROF
-       return pthread_mutex_lock(pmutex);
+       __MTX_PROF(pmutex);
 }
 
 static inline int ast_mutex_trylock(ast_mutex_t *pmutex)
@@ -631,8 +632,7 @@ static inline int ast_mutex_lock(ast_mutex_t *pmutex)
 {
        if (*pmutex == (ast_mutex_t)AST_MUTEX_KIND)
                ast_mutex_init(pmutex);
-       __MTX_PROF
-       return pthread_mutex_lock(pmutex);
+       __MTX_PROF(pmutex);
 }
 
 static inline int ast_mutex_trylock(ast_mutex_t *pmutex)
@@ -648,8 +648,7 @@ static inline int ast_mutex_trylock(ast_mutex_t *pmutex)
 
 static inline int ast_mutex_lock(ast_mutex_t *pmutex)
 {
-       __MTX_PROF
-       return pthread_mutex_lock(pmutex);
+       __MTX_PROF(pmutex);
 }
 
 static inline int ast_mutex_trylock(ast_mutex_t *pmutex)