Commit 8fc8d25b authored by David Reid's avatar David Reid

Qualify spinlock parameters as volatile.

parent a4967cce
...@@ -5572,17 +5572,17 @@ MA_API ma_bool32 ma_is_loopback_supported(ma_backend backend); ...@@ -5572,17 +5572,17 @@ MA_API ma_bool32 ma_is_loopback_supported(ma_backend backend);
/* /*
Locks a spinlock. Locks a spinlock.
*/ */
MA_API ma_result ma_spinlock_lock(ma_spinlock* pSpinlock); MA_API ma_result ma_spinlock_lock(volatile ma_spinlock* pSpinlock);
/* /*
Locks a spinlock, but does not yield() when looping. Locks a spinlock, but does not yield() when looping.
*/ */
MA_API ma_result ma_spinlock_lock_noyield(ma_spinlock* pSpinlock); MA_API ma_result ma_spinlock_lock_noyield(volatile ma_spinlock* pSpinlock);
/* /*
Unlocks a spinlock. Unlocks a spinlock.
*/ */
MA_API ma_result ma_spinlock_unlock(ma_spinlock* pSpinlock); MA_API ma_result ma_spinlock_unlock(volatile ma_spinlock* pSpinlock);
/* /*
...@@ -9783,7 +9783,7 @@ Threading ...@@ -9783,7 +9783,7 @@ Threading
#endif #endif
typedef ma_thread_result (MA_THREADCALL * ma_thread_entry_proc)(void* pData); typedef ma_thread_result (MA_THREADCALL * ma_thread_entry_proc)(void* pData);
static MA_INLINE ma_result ma_spinlock_lock_ex(ma_spinlock* pSpinlock, ma_bool32 yield) static MA_INLINE ma_result ma_spinlock_lock_ex(volatile ma_spinlock* pSpinlock, ma_bool32 yield)
{ {
if (pSpinlock == NULL) { if (pSpinlock == NULL) {
return MA_INVALID_ARGS; return MA_INVALID_ARGS;
...@@ -9804,17 +9804,17 @@ static MA_INLINE ma_result ma_spinlock_lock_ex(ma_spinlock* pSpinlock, ma_bool32 ...@@ -9804,17 +9804,17 @@ static MA_INLINE ma_result ma_spinlock_lock_ex(ma_spinlock* pSpinlock, ma_bool32
return MA_SUCCESS; return MA_SUCCESS;
} }
MA_API ma_result ma_spinlock_lock(ma_spinlock* pSpinlock) MA_API ma_result ma_spinlock_lock(volatile ma_spinlock* pSpinlock)
{ {
return ma_spinlock_lock_ex(pSpinlock, MA_TRUE); return ma_spinlock_lock_ex(pSpinlock, MA_TRUE);
} }
MA_API ma_result ma_spinlock_lock_noyield(ma_spinlock* pSpinlock) MA_API ma_result ma_spinlock_lock_noyield(volatile ma_spinlock* pSpinlock)
{ {
return ma_spinlock_lock_ex(pSpinlock, MA_FALSE); return ma_spinlock_lock_ex(pSpinlock, MA_FALSE);
} }
MA_API ma_result ma_spinlock_unlock(ma_spinlock* pSpinlock) MA_API ma_result ma_spinlock_unlock(volatile ma_spinlock* pSpinlock)
{ {
if (pSpinlock == NULL) { if (pSpinlock == NULL) {
return MA_INVALID_ARGS; return MA_INVALID_ARGS;
...@@ -64682,6 +64682,7 @@ The following miscellaneous changes have also been made. ...@@ -64682,6 +64682,7 @@ The following miscellaneous changes have also been made.
REVISION HISTORY REVISION HISTORY
================ ================
v0.10.30 - TBD v0.10.30 - TBD
- Update spinlock APIs to take a volatile parameter as input.
- Silence some unused parameter warnings. - Silence some unused parameter warnings.
v0.10.29 - 2020-12-26 v0.10.29 - 2020-12-26
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment