From 4ae9d45de2f942ef0eb3b509963374ada6285ac7 Mon Sep 17 00:00:00 2001 From: Paul Adenot Date: Wed, 2 Aug 2023 17:50:16 +0200 Subject: [PATCH] AAudio: Don't unlock a mutex owned by a lock_guard --- src/cubeb_aaudio.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/cubeb_aaudio.cpp b/src/cubeb_aaudio.cpp index 4b7774e..d0a31b2 100644 --- a/src/cubeb_aaudio.cpp +++ b/src/cubeb_aaudio.cpp @@ -1259,14 +1259,14 @@ aaudio_stream_init(cubeb * ctx, cubeb_stream ** stream, // This is ok: the thread is marked as being in use lock.unlock(); - lock_guard guard(stm->mutex); + int err; + + { + lock_guard guard(stm->mutex); + err = aaudio_stream_init_impl(stm, guard); + } - int err = aaudio_stream_init_impl(stm, guard); if (err != CUBEB_OK) { - // This is needed since aaudio_stream_destroy will lock the mutex again. - // It's no problem that there is a gap in between as the stream isn't - // actually in use. - lock.unlock(); aaudio_stream_destroy(stm); return err; }