Camera2: Test: fix deadlock in isStreamInUse

Change-Id: I2ac46303e96c3ccaaa0f76555b89bbeed45a3919
This commit is contained in:
Igor Murashkin
2012-12-18 16:07:06 -08:00
parent 09167dc112
commit 572a086038

View File

@@ -1153,6 +1153,8 @@ void EmulatedFakeCamera2::ReadoutThread::setNextOperation(
} }
bool EmulatedFakeCamera2::ReadoutThread::isStreamInUse(uint32_t id) { bool EmulatedFakeCamera2::ReadoutThread::isStreamInUse(uint32_t id) {
// acquire in same order as threadLoop
Mutex::Autolock iLock(mInternalsMutex);
Mutex::Autolock lock(mInputMutex); Mutex::Autolock lock(mInputMutex);
size_t i = mInFlightHead; size_t i = mInFlightHead;
@@ -1164,7 +1166,6 @@ bool EmulatedFakeCamera2::ReadoutThread::isStreamInUse(uint32_t id) {
i = (i + 1) % kInFlightQueueSize; i = (i + 1) % kInFlightQueueSize;
} }
Mutex::Autolock iLock(mInternalsMutex);
if (mBuffers != NULL) { if (mBuffers != NULL) {
for (i = 0; i < mBuffers->size(); i++) { for (i = 0; i < mBuffers->size(); i++) {