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

Commit 7a3affef authored by Rob Carr's avatar Rob Carr Committed by Automerger Merge Worker
Browse files

Merge "SurfaceFlinger: Only block calling thread on sync transactions." into...

Merge "SurfaceFlinger: Only block calling thread on sync transactions." into rvc-dev am: 1b8793a6 am: b246d90c

Change-Id: I4df8c512632d3a65511c95a50f0ca536cfbbc3c6
parents d5855eb7 b246d90c
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -3420,18 +3420,26 @@ void SurfaceFlinger::applyTransactionState(
                                                  : Scheduler::TransactionStart::NORMAL;
        setTransactionFlags(transactionFlags, start);

        if (flags & eAnimation) {
            mAnimTransactionPending = true;
        }

        // if this is a synchronous transaction, wait for it to take effect
        // before returning.
        if (flags & eSynchronous) {
            mTransactionPending = true;
        const bool synchronous = flags & eSynchronous;
        const bool syncInput = inputWindowCommands.syncInputWindows;
        if (!synchronous && !syncInput) {
            return;
        }
        if (flags & eAnimation) {
            mAnimTransactionPending = true;

        if (synchronous) {
            mTransactionPending = true;
        }
        if (mPendingInputWindowCommands.syncInputWindows) {
        if (syncInput) {
            mPendingSyncInputWindows = true;
        }


        // applyTransactionState can be called by either the main SF thread or by
        // another process through setTransactionState.  While a given process may wish
        // to wait on synchronous transactions, the main SF thread should never