Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b26e7a07 authored by Jinguang Dong's avatar Jinguang Dong Committed by Shuzhen Wang
Browse files

Camera3: Add missing mTriggerMutex lock

There is thread safety problem for mTriggerMap in
Camera3Device::RequestThread::clear(). For correctness,
acquire mTriggerMutex before mTriggermap.clear().

Test: 1. Configure power saving mode to 2 seconds by
      modification software;
      2. using pyhon or monkey to turn on the screen every 4
      second;
      3. device doesn't crash any more on loop test.

Change-Id: I2f04e21dae3a9879d6cebfefb9d9c191ef3f4df4
parent caea9fc2
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -2859,6 +2859,8 @@ status_t Camera3Device::RequestThread::clear(
        }
    }
    mRequestQueue.clear();

    Mutex::Autolock al(mTriggerMutex);
    mTriggerMap.clear();
    if (lastFrameNumber != NULL) {
        *lastFrameNumber = mRepeatingLastFrameNumber;