From 572a0860387a5379f4f1a0cfe340daa1f4f34e8e Mon Sep 17 00:00:00 2001 From: Igor Murashkin Date: Tue, 18 Dec 2012 16:07:06 -0800 Subject: [PATCH] Camera2: Test: fix deadlock in isStreamInUse Change-Id: I2ac46303e96c3ccaaa0f76555b89bbeed45a3919 --- tools/emulator/system/camera/EmulatedFakeCamera2.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) 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++) {