aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Alc/ALu.c10
1 files changed, 1 insertions, 9 deletions
diff --git a/Alc/ALu.c b/Alc/ALu.c
index a3de456b..0f6c447e 100644
--- a/Alc/ALu.c
+++ b/Alc/ALu.c
@@ -1926,18 +1926,10 @@ void aluHandleDisconnect(ALCdevice *device, const char *msg, ...)
for(i = 0;i < ctx->VoiceCount;i++)
{
ALvoice *voice = ctx->Voices[i];
- ALsource *source;
- source = ATOMIC_EXCHANGE_PTR(&voice->Source, NULL, almemory_order_acq_rel);
+ ATOMIC_STORE(&voice->Source, NULL, almemory_order_relaxed);
ATOMIC_STORE(&voice->Playing, false, almemory_order_release);
-
- if(source)
- {
- ALenum playing = AL_PLAYING;
- (void)(ATOMIC_COMPARE_EXCHANGE_STRONG_SEQ(&source->state, &playing, AL_STOPPED));
- }
}
- ctx->VoiceCount = 0;
ctx = ctx->next;
}