From 39a2f0626ad1755bdb2b00d3bab8204b05e3afc9 Mon Sep 17 00:00:00 2001 From: Chris Robinson Date: Thu, 23 Jul 2020 09:02:50 -0700 Subject: [PATCH] Use a predicate instead of a while loop --- alc/backends/pulseaudio.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/alc/backends/pulseaudio.cpp b/alc/backends/pulseaudio.cpp index f110af7d..6b8b4a6a 100644 --- a/alc/backends/pulseaudio.cpp +++ b/alc/backends/pulseaudio.cpp @@ -410,8 +410,8 @@ public: { if(op) { - while(pa_operation_get_state(op) == PA_OPERATION_RUNNING) - mCondVar.wait(plock); + mCondVar.wait(plock, + [op]() -> bool { return pa_operation_get_state(op) != PA_OPERATION_RUNNING; }); pa_operation_unref(op); } } @@ -507,7 +507,7 @@ pa_context *PulseMainloop::connectContext(std::unique_lock &plock) if(!mMainloop) { mThread = std::thread{std::mem_fn(&PulseMainloop::mainloop_proc), this}; - while(!mMainloop) mCondVar.wait(plock); + mCondVar.wait(plock, [this]() noexcept { return mMainloop; }); } pa_context *context{pa_context_new(pa_mainloop_get_api(mMainloop), name)};