From ce6b727c2c0f3258e19d0f1586bf2d339db899f2 Mon Sep 17 00:00:00 2001 From: "Kevin P. Fleming" Date: Fri, 28 Oct 2005 16:33:09 +0000 Subject: add macros for explicit module usecount increment/decrement remove unnecessary locking around setting usecount to zero git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6876 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/module.h | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'include/asterisk') diff --git a/include/asterisk/module.h b/include/asterisk/module.h index 52233886a..afb90ce24 100755 --- a/include/asterisk/module.h +++ b/include/asterisk/module.h @@ -290,6 +290,18 @@ void ast_unregister_atexit(void (*func)(void)); static struct localuser *localusers = NULL; \ static int localusecnt = 0; +#define STANDARD_INCREMENT_USECOUNT \ + ast_mutex_lock(&localuser_lock); \ + localusecnt++; \ + ast_mutex_unlock(&localuser_lock); \ + ast_update_use_count(); + +#define STANDARD_DECREMENT_USECOUNT \ + ast_mutex_lock(&localuser_lock); \ + localusecnt--; \ + ast_mutex_unlock(&localuser_lock); \ + ast_update_use_count(); + /*! * \brief Add a localuser. * \param u a pointer to a localuser struct @@ -375,16 +387,16 @@ void ast_unregister_atexit(void (*func)(void)); u = u->next; \ free(ul); \ } \ - ast_mutex_unlock(&localuser_lock); \ localusecnt=0; \ + ast_mutex_unlock(&localuser_lock); \ + ast_update_use_count(); \ } /*! * \brief Set the specfied integer to the current usecount. * \param res the integer variable to set. * - * This macro sets the specfied integer variable to the local usecount. It - * handles all the necessary thread synchronization. + * This macro sets the specfied integer variable to the local usecount. * * Sample Usage: * \code -- cgit v1.2.3