Loading services/surfaceflinger/SurfaceFlinger.cpp +0 −18 Original line number Diff line number Diff line Loading @@ -3962,24 +3962,6 @@ auto SurfaceFlinger::transactionIsReadyToBeApplied( void SurfaceFlinger::queueTransaction(TransactionState& state) { Mutex::Autolock _l(mQueueLock); // If its TransactionQueue already has a pending TransactionState or if it is pending auto itr = mPendingTransactionQueues.find(state.applyToken); // if this is an animation frame, wait until prior animation frame has // been applied by SF if (state.flags & eAnimation) { while (itr != mPendingTransactionQueues.end()) { status_t err = mTransactionQueueCV.waitRelative(mQueueLock, mAnimationTransactionTimeout); if (CC_UNLIKELY(err != NO_ERROR)) { ALOGW_IF(err == TIMED_OUT, "setTransactionState timed out " "waiting for animation frame to apply"); break; } itr = mPendingTransactionQueues.find(state.applyToken); } } // Generate a CountDownLatch pending state if this is a synchronous transaction. if ((state.flags & eSynchronous) || state.inputWindowCommands.syncInputWindows) { state.transactionCommittedSignal = std::make_shared<CountDownLatch>( Loading services/surfaceflinger/tests/unittests/TransactionApplicationTest.cpp +1 −9 Original line number Diff line number Diff line Loading @@ -226,7 +226,7 @@ public: // if this is an animation, this thread should be blocked for 5s // in setTransactionState waiting for transactionA to flush. Otherwise, // the transaction should be placed on the pending queue if (flags & (ISurfaceComposer::eAnimation | ISurfaceComposer::eSynchronous) || if (flags & (ISurfaceComposer::eSynchronous) || syncInputWindows) { EXPECT_GE(systemTime(), applicationSentTime + mFlinger.getAnimationTransactionTimeout()); Loading Loading @@ -288,10 +288,6 @@ TEST_F(TransactionApplicationTest, NotPlacedOnTransactionQueue_Synchronous) { NotPlacedOnTransactionQueue(ISurfaceComposer::eSynchronous, /*syncInputWindows*/ false); } TEST_F(TransactionApplicationTest, NotPlacedOnTransactionQueue_Animation) { NotPlacedOnTransactionQueue(ISurfaceComposer::eAnimation, /*syncInputWindows*/ false); } TEST_F(TransactionApplicationTest, NotPlacedOnTransactionQueue_SyncInputWindows) { NotPlacedOnTransactionQueue(/*flags*/ 0, /*syncInputWindows*/ true); } Loading @@ -300,10 +296,6 @@ TEST_F(TransactionApplicationTest, PlaceOnTransactionQueue_Synchronous) { PlaceOnTransactionQueue(ISurfaceComposer::eSynchronous, /*syncInputWindows*/ false); } TEST_F(TransactionApplicationTest, PlaceOnTransactionQueue_Animation) { PlaceOnTransactionQueue(ISurfaceComposer::eAnimation, /*syncInputWindows*/ false); } TEST_F(TransactionApplicationTest, PlaceOnTransactionQueue_SyncInputWindows) { PlaceOnTransactionQueue(/*flags*/ 0, /*syncInputWindows*/ true); } Loading Loading
services/surfaceflinger/SurfaceFlinger.cpp +0 −18 Original line number Diff line number Diff line Loading @@ -3962,24 +3962,6 @@ auto SurfaceFlinger::transactionIsReadyToBeApplied( void SurfaceFlinger::queueTransaction(TransactionState& state) { Mutex::Autolock _l(mQueueLock); // If its TransactionQueue already has a pending TransactionState or if it is pending auto itr = mPendingTransactionQueues.find(state.applyToken); // if this is an animation frame, wait until prior animation frame has // been applied by SF if (state.flags & eAnimation) { while (itr != mPendingTransactionQueues.end()) { status_t err = mTransactionQueueCV.waitRelative(mQueueLock, mAnimationTransactionTimeout); if (CC_UNLIKELY(err != NO_ERROR)) { ALOGW_IF(err == TIMED_OUT, "setTransactionState timed out " "waiting for animation frame to apply"); break; } itr = mPendingTransactionQueues.find(state.applyToken); } } // Generate a CountDownLatch pending state if this is a synchronous transaction. if ((state.flags & eSynchronous) || state.inputWindowCommands.syncInputWindows) { state.transactionCommittedSignal = std::make_shared<CountDownLatch>( Loading
services/surfaceflinger/tests/unittests/TransactionApplicationTest.cpp +1 −9 Original line number Diff line number Diff line Loading @@ -226,7 +226,7 @@ public: // if this is an animation, this thread should be blocked for 5s // in setTransactionState waiting for transactionA to flush. Otherwise, // the transaction should be placed on the pending queue if (flags & (ISurfaceComposer::eAnimation | ISurfaceComposer::eSynchronous) || if (flags & (ISurfaceComposer::eSynchronous) || syncInputWindows) { EXPECT_GE(systemTime(), applicationSentTime + mFlinger.getAnimationTransactionTimeout()); Loading Loading @@ -288,10 +288,6 @@ TEST_F(TransactionApplicationTest, NotPlacedOnTransactionQueue_Synchronous) { NotPlacedOnTransactionQueue(ISurfaceComposer::eSynchronous, /*syncInputWindows*/ false); } TEST_F(TransactionApplicationTest, NotPlacedOnTransactionQueue_Animation) { NotPlacedOnTransactionQueue(ISurfaceComposer::eAnimation, /*syncInputWindows*/ false); } TEST_F(TransactionApplicationTest, NotPlacedOnTransactionQueue_SyncInputWindows) { NotPlacedOnTransactionQueue(/*flags*/ 0, /*syncInputWindows*/ true); } Loading @@ -300,10 +296,6 @@ TEST_F(TransactionApplicationTest, PlaceOnTransactionQueue_Synchronous) { PlaceOnTransactionQueue(ISurfaceComposer::eSynchronous, /*syncInputWindows*/ false); } TEST_F(TransactionApplicationTest, PlaceOnTransactionQueue_Animation) { PlaceOnTransactionQueue(ISurfaceComposer::eAnimation, /*syncInputWindows*/ false); } TEST_F(TransactionApplicationTest, PlaceOnTransactionQueue_SyncInputWindows) { PlaceOnTransactionQueue(/*flags*/ 0, /*syncInputWindows*/ true); } Loading