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

Commit 7c41bf70 authored by Jamie Gennis's avatar Jamie Gennis
Browse files

SurfaceFlinger: change the animation timeout

This change changes the animation transaction timeout from 500us to 5s.

Bug: 7362633
Change-Id: I9bed8e74f726dae2daa398afc29babcea00d5b04
parent 7f79a2bd
Loading
Loading
Loading
Loading
+5 −3
Original line number Diff line number Diff line
@@ -1664,6 +1664,7 @@ void SurfaceFlinger::setTransactionState(
        const Vector<DisplayState>& displays,
        uint32_t flags)
{
    ATRACE_CALL();
    Mutex::Autolock _l(mStateLock);
    uint32_t transactionFlags = 0;

@@ -1671,11 +1672,12 @@ void SurfaceFlinger::setTransactionState(
        // For window updates that are part of an animation we must wait for
        // previous animation "frames" to be handled.
        while (mAnimTransactionPending) {
            status_t err = mTransactionCV.waitRelative(mStateLock, 500 * 1000);
            status_t err = mTransactionCV.waitRelative(mStateLock, s2ns(5));
            if (CC_UNLIKELY(err != NO_ERROR)) {
                // just in case something goes wrong in SF, return to the
                // caller after a few hundred microseconds.
                ALOGW_IF(err == TIMED_OUT, "setTransactionState timed out!");
                // caller after a few seconds.
                ALOGW_IF(err == TIMED_OUT, "setTransactionState timed out "
                        "waiting for previous animation frame");
                mAnimTransactionPending = false;
                break;
            }