aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-04-12 23:33:47 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2006-04-12 23:33:47 +0000
commit9d5f3082b4bb215ebb8468025e981896e802dcd4 (patch)
treeaf8eb7fb67eecb435590aa4b037bec3e0168c937 /include
parentc274bc3e7d3547398df0d71da40f24727d2e3e57 (diff)
simplify macro usage
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@19614 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rw-r--r--include/asterisk/lock.h19
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)