From 52a003e9bb7c870f26436b38e62edc96385805dc Mon Sep 17 00:00:00 2001
From: Chris Robinson <chris.kcat@gmail.com>
Date: Mon, 7 Oct 2019 23:22:06 -0700
Subject: Avoid raw lock/unlock calls

---
 alc/backends/qsa.cpp | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

(limited to 'alc/backends/qsa.cpp')

diff --git a/alc/backends/qsa.cpp b/alc/backends/qsa.cpp
index 872a8541..5ed65798 100644
--- a/alc/backends/qsa.cpp
+++ b/alc/backends/qsa.cpp
@@ -207,7 +207,7 @@ FORCE_ALIGN static int qsa_proc_playback(void *ptr)
 
     const ALint frame_size = device->frameSizeFromFmt();
 
-    self->lock();
+    std::unique_lock<PlaybackWrapper> dlock{*self};
     while(!data->mKillNow.load(std::memory_order_acquire))
     {
         pollfd pollitem{};
@@ -215,9 +215,9 @@ FORCE_ALIGN static int qsa_proc_playback(void *ptr)
         pollitem.events = POLLOUT;
 
         /* Select also works like time slice to OS */
-        self->unlock();
+        dlock.unlock();
         sret = poll(&pollitem, 1, 2000);
-        self->lock();
+        dlock.lock();
         if(sret == -1)
         {
             if(errno == EINTR || errno == EAGAIN)
@@ -266,7 +266,6 @@ FORCE_ALIGN static int qsa_proc_playback(void *ptr)
             }
         }
     }
-    self->unlock();
 
     return 0;
 }
-- 
cgit v1.2.3