diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-04-12 23:33:47 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-04-12 23:33:47 +0000 |
commit | 9d5f3082b4bb215ebb8468025e981896e802dcd4 (patch) | |
tree | af8eb7fb67eecb435590aa4b037bec3e0168c937 /include/asterisk/lock.h | |
parent | c274bc3e7d3547398df0d71da40f24727d2e3e57 (diff) |
simplify macro usage
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@19614 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk/lock.h')
-rw-r--r-- | include/asterisk/lock.h | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h index e86462306..e4276dd7f 100644 --- a/include/asterisk/lock.h +++ b/include/asterisk/lock.h @@ -60,17 +60,19 @@ * 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) |