Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f462c6cc authored by Andy Hung's avatar Andy Hung
Browse files

Update AudioFlinger to use templated unique_lock

Flag: EXEMPT bugfix
Test: atest audio_mutex_tests
Test: atest audio_mutex_benchmark
Bug: 369245010
Change-Id: I37e82864b5d55bfa12358077fdd0051ab7105733
parent 0cb96ed3
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -402,7 +402,7 @@ public:
    // the Thread is not busy releasing the Tracks, during which the Thread mutex
    // may be temporarily unlocked.  Some Track methods will use this method to
    // avoid races.
    virtual void waitWhileThreadBusy_l(audio_utils::unique_lock& ul)
    virtual void waitWhileThreadBusy_l(audio_utils::unique_lock<audio_utils::mutex>& ul)
            REQUIRES(mutex()) = 0;

    // The ThreadloopExecutor is used to defer functors or dtors
+2 −1
Original line number Diff line number Diff line
@@ -623,7 +623,8 @@ protected:
     * ThreadBase_Mutex during this time.  No other mutex is held.
     */

    void waitWhileThreadBusy_l(audio_utils::unique_lock& ul) final REQUIRES(mutex()) {
    void waitWhileThreadBusy_l(audio_utils::unique_lock<audio_utils::mutex>& ul)
            final REQUIRES(mutex()) {
        // the wait returns immediately if the predicate is satisfied.
        mThreadBusyCv.wait(ul, [&]{ return mThreadBusy == false;});
    }