diff --git a/tools/emulator/system/camera/EmulatedFakeCamera2.cpp b/tools/emulator/system/camera/EmulatedFakeCamera2.cpp index ca01266c3..f1ff00864 100644 --- a/tools/emulator/system/camera/EmulatedFakeCamera2.cpp +++ b/tools/emulator/system/camera/EmulatedFakeCamera2.cpp @@ -1153,6 +1153,8 @@ void EmulatedFakeCamera2::ReadoutThread::setNextOperation( } bool EmulatedFakeCamera2::ReadoutThread::isStreamInUse(uint32_t id) { + // acquire in same order as threadLoop + Mutex::Autolock iLock(mInternalsMutex); Mutex::Autolock lock(mInputMutex); size_t i = mInFlightHead; @@ -1164,7 +1166,6 @@ bool EmulatedFakeCamera2::ReadoutThread::isStreamInUse(uint32_t id) { i = (i + 1) % kInFlightQueueSize; } - Mutex::Autolock iLock(mInternalsMutex); if (mBuffers != NULL) { for (i = 0; i < mBuffers->size(); i++) {