summaryrefslogtreecommitdiff
path: root/include/asterisk/spinlock.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asterisk/spinlock.h')
-rw-r--r--include/asterisk/spinlock.h43
1 files changed, 43 insertions, 0 deletions
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 */