From d364d489445049e81fac1a6936126cafce492aee Mon Sep 17 00:00:00 2001 From: Christopher Snowhill Date: Sun, 23 Jan 2022 19:50:01 -0800 Subject: [PATCH] Cog Audio: Change for recursive lock, fixing a deadlock on buffer resets --- Audio/ThirdParty/VirtualRingBuffer/VirtualRingBuffer.h | 2 +- Audio/ThirdParty/VirtualRingBuffer/VirtualRingBuffer.m | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Audio/ThirdParty/VirtualRingBuffer/VirtualRingBuffer.h b/Audio/ThirdParty/VirtualRingBuffer/VirtualRingBuffer.h index f19d64854..d185394b0 100644 --- a/Audio/ThirdParty/VirtualRingBuffer/VirtualRingBuffer.h +++ b/Audio/ThirdParty/VirtualRingBuffer/VirtualRingBuffer.h @@ -58,7 +58,7 @@ atomic_int writePointer; atomic_int bufferFilled; - NSLock *accessLock; + NSRecursiveLock *accessLock; } - (id)initWithLength:(UInt32)length; diff --git a/Audio/ThirdParty/VirtualRingBuffer/VirtualRingBuffer.m b/Audio/ThirdParty/VirtualRingBuffer/VirtualRingBuffer.m index ce9f0485f..98bd34a0e 100644 --- a/Audio/ThirdParty/VirtualRingBuffer/VirtualRingBuffer.m +++ b/Audio/ThirdParty/VirtualRingBuffer/VirtualRingBuffer.m @@ -47,7 +47,7 @@ static void deallocateVirtualBuffer(void *buffer, UInt32 bufferLength); atomic_init(&writePointer, 0); atomic_init(&bufferFilled, 0); - accessLock = [[NSLock alloc] init]; + accessLock = [[NSRecursiveLock alloc] init]; return self; }