diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2006-04-12 23:33:47 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2006-04-12 23:33:47 +0000 |
commit | 371e0316f01d0bf33ea53e3a8a8421e77de749db (patch) | |
tree | af8eb7fb67eecb435590aa4b037bec3e0168c937 /include/asterisk/lock.h | |
parent | a015d0b36f2d83d13e5e5b95abd2e8f4f87993f3 (diff) |
simplify macro usage
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
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) |