From c6ed85748c19b8f77259fb14c210f5bcf65c86cb Mon Sep 17 00:00:00 2001 From: George Joseph Date: Tue, 29 Apr 2014 15:10:24 +0000 Subject: Add "destroy" implementation for spinlock. The original commit for spinlock was missing "destroy" implementations. Most of them are no-ops but phtread_spin and pthread_mutex do need their locks destroyed. ........ Merged revisions 413102 from http://svn.asterisk.org/svn/asterisk/branches/12 git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@413103 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- include/asterisk/spinlock.h | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) (limited to 'include') diff --git a/include/asterisk/spinlock.h b/include/asterisk/spinlock.h index c514f0375..dacb58299 100644 --- a/include/asterisk/spinlock.h +++ b/include/asterisk/spinlock.h @@ -95,6 +95,11 @@ static force_inline int ast_spinlock_unlock(ast_spinlock_t *lock) __sync_lock_release(lock); return 0; } + +static force_inline int ast_spinlock_destroy(ast_spinlock_t *lock) +{ + return 0; +} #endif /*! @@ -145,6 +150,11 @@ static force_inline int ast_spinlock_unlock(ast_spinlock_t *lock) x86chgl(lock, 0); return 0; } + +static force_inline int ast_spinlock_destroy(ast_spinlock_t *lock) +{ + return 0; +} #endif /*! @@ -221,6 +231,11 @@ static force_inline int ast_spinlock_unlock(ast_spinlock_t *lock) return 0; } + +static force_inline int ast_spinlock_destroy(ast_spinlock_t *lock) +{ + return 0; +} #endif /*! @@ -288,6 +303,11 @@ static force_inline int ast_spinlock_unlock(ast_spinlock_t *lock) return 0; } + +static force_inline int ast_spinlock_destroy(ast_spinlock_t *lock) +{ + return 0; +} #endif /*! @@ -322,6 +342,11 @@ static force_inline int ast_spinlock_unlock(ast_spinlock_t *lock) { return pthread_spin_unlock(lock); } + +static force_inline int ast_spinlock_destroy(ast_spinlock_t *lock) +{ + return pthread_spin_destroy(lock); +} #endif /*! @@ -361,6 +386,11 @@ static force_inline int ast_spinlock_unlock(ast_spinlock_t *lock) OSSpinLockUnlock(lock); return 0; } + +static force_inline int ast_spinlock_destroy(ast_spinlock_t *lock) +{ + return 0; +} #endif /*! @@ -396,6 +426,11 @@ static force_inline int ast_spinlock_unlock(ast_spinlock_t *lock) { return pthread_mutex_unlock(lock); } + +static force_inline int ast_spinlock_destroy(ast_spinlock_t *lock) +{ + return pthread_mutex_destroy(lock); +} #endif #if !defined(AST_SPINLOCK_TYPE) @@ -442,4 +477,12 @@ static force_inline int ast_spinlock_trylock(ast_spinlock_t *lock); */ static force_inline int ast_spinlock_unlock(ast_spinlock_t *lock); +/*! + * \brief Destroy a spin lock + * \param lock Address of the lock + * \retval 0 Success + * \retval other Failure + */ +static force_inline int ast_spinlock_destroy(ast_spinlock_t *lock); + #endif /* _ASTERISK_SPINLOCK_H */ -- cgit v1.2.3