From 371e0316f01d0bf33ea53e3a8a8421e77de749db Mon Sep 17 00:00:00 2001
From: "Kevin P. Fleming" <kpfleming@digium.com>
Date: Wed, 12 Apr 2006 23:33:47 +0000
Subject: [PATCH] simplify macro usage

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@19614 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 include/asterisk/lock.h | 19 +++++++++----------
 1 file changed, 9 insertions(+), 10 deletions(-)

diff --git a/include/asterisk/lock.h b/include/asterisk/lock.h
index e864623060..e4276dd7f3 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)
-- 
GitLab