From f56e07842f7f9f9335e6540439c1fef2bfae22eb Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 22 Jun 2006 23:38:44 +0000 Subject: [PATCH] add set/clear flag locked macros git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1661 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- src/include/switch_utils.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/include/switch_utils.h b/src/include/switch_utils.h index 6ebae53bcb..ba18681bf2 100644 --- a/src/include/switch_utils.h +++ b/src/include/switch_utils.h @@ -112,11 +112,25 @@ SWITCH_DECLARE(unsigned char) switch_char_to_rfc2833(char key); */ #define switch_set_flag(obj, flag) (obj)->flags |= (flag) +/*! + \brief Set a flag on an arbitrary object while locked + \param obj the object to set the flags on + \param flag the or'd list of flags to set +*/ +#define switch_set_flag_locked(obj, flag) switch_mutex_lock(obj->flag_mutex); (obj)->flags |= (flag); switch_mutex_unlock(obj->flag_mutex); + /*! \brief Clear a flag on an arbitrary object \param obj the object to test \param flag the or'd list of flags to clear */ +#define switch_clear_flag_locked(obj, flag) switch_mutex_lock(obj->flag_mutex); (obj)->flags &= ~(flag); switch_mutex_unlock(obj->flag_mutex); + +/*! + \brief Clear a flag on an arbitrary object while locked + \param obj the object to test + \param flag the or'd list of flags to clear +*/ #define switch_clear_flag(obj, flag) (obj)->flags &= ~(flag) /*!