aboutsummaryrefslogtreecommitdiffstats
path: root/OpenAL32/alSource.c
diff options
context:
space:
mode:
authorChris Robinson <[email protected]>2017-04-20 03:14:49 -0700
committerChris Robinson <[email protected]>2017-04-20 03:14:49 -0700
commit63baa3b1c712317e7826de6f28ecc865d1fb9b58 (patch)
treed7f23987f7a392a6cf00948c26e5f8550f86fc76 /OpenAL32/alSource.c
parent5dcbb8db38bb9aa88d3be45cf84f2e7d993acdd0 (diff)
Missed a raw atomic variable access
Diffstat (limited to 'OpenAL32/alSource.c')
-rw-r--r--OpenAL32/alSource.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/OpenAL32/alSource.c b/OpenAL32/alSource.c
index 0da513aa..757c96db 100644
--- a/OpenAL32/alSource.c
+++ b/OpenAL32/alSource.c
@@ -2810,8 +2810,9 @@ AL_API ALvoid AL_APIENTRY alSourceQueueBuffers(ALuint src, ALsizei nb, const ALu
source->queue = BufferListStart;
else
{
- while(BufferList->next != NULL)
- BufferList = ATOMIC_LOAD(&BufferList->next, almemory_order_relaxed);
+ ALbufferlistitem *next;
+ while((next=ATOMIC_LOAD(&BufferList->next, almemory_order_relaxed)) != NULL)
+ BufferList = next;
ATOMIC_STORE(&BufferList->next, BufferListStart, almemory_order_release);
}
WriteUnlock(&source->queue_lock);