Camera2: Test: fix deadlock in isStreamInUse
Change-Id: I2ac46303e96c3ccaaa0f76555b89bbeed45a3919
diff --git a/tools/emulator/system/camera/EmulatedFakeCamera2.cpp b/tools/emulator/system/camera/EmulatedFakeCamera2.cpp
index ca01266..f1ff008 100644
--- a/tools/emulator/system/camera/EmulatedFakeCamera2.cpp
+++ b/tools/emulator/system/camera/EmulatedFakeCamera2.cpp
@@ -1153,6 +1153,8 @@
}
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 @@
i = (i + 1) % kInFlightQueueSize;
}
- Mutex::Autolock iLock(mInternalsMutex);
if (mBuffers != NULL) {
for (i = 0; i < mBuffers->size(); i++) {