Stop GraphicBufferSource's looper without locking
Before this CL, the following sequence of events could cause a deadlock: - Binder thread: Acquires the mutex (mMutex) inside release(). - Looper thread: Blocks inside onMessageReceived() as it tries to acquire the mutex. - Binder thread: Calls mLooper->stop() inside release(), which waits for the looper thread to finish executing onMessageReceived(). Test: make cts -j123 && cts-tradefed run cts-dev -m \ CtsMediaTestCases --compatibility:module-arg \ CtsMediaTestCases:include-annotation:\ android.platform.test.annotations.RequiresDevice Bug: 74170420 Change-Id: Ie63b19107f10937f7a301fe74b38f15076cc0ed9
Loading
Please register or sign in to comment