summaryrefslogtreecommitdiffstats
path: root/services/camera/libcameraservice/CameraService.h
diff options
context:
space:
mode:
authorChien-Yu Chen <cychen@google.com>2015-09-01 14:16:44 -0700
committerChien-Yu Chen <cychen@google.com>2015-09-01 14:16:44 -0700
commitfe751bea0d3eedd6e817aebf4e457425b82e7117 (patch)
tree263226e98081eb5f3ed9dc8d20840719b837d4f3 /services/camera/libcameraservice/CameraService.h
parent389e765394a950b9697bba49c1998f2029bd58b4 (diff)
downloadframeworks_av-fe751bea0d3eedd6e817aebf4e457425b82e7117.zip
frameworks_av-fe751bea0d3eedd6e817aebf4e457425b82e7117.tar.gz
frameworks_av-fe751bea0d3eedd6e817aebf4e457425b82e7117.tar.bz2
Camera: Fix flashlight deadlock
Use a dedicated mutex for torch UID map so it won't cause a deadlock after flashlight app gets killed while the torch is on. Bug: 23722318 Change-Id: I228377aa0412052d56b6b948361d9abaecbbc686
Diffstat (limited to 'services/camera/libcameraservice/CameraService.h')
-rw-r--r--services/camera/libcameraservice/CameraService.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/services/camera/libcameraservice/CameraService.h b/services/camera/libcameraservice/CameraService.h
index 7f4d43f..b56c161 100644
--- a/services/camera/libcameraservice/CameraService.h
+++ b/services/camera/libcameraservice/CameraService.h
@@ -648,8 +648,10 @@ private:
sp<CameraFlashlight> mFlashlight;
// guard mTorchStatusMap
Mutex mTorchStatusMutex;
- // guard mTorchClientMap, mTorchUidMap
+ // guard mTorchClientMap
Mutex mTorchClientMapMutex;
+ // guard mTorchUidMap
+ Mutex mTorchUidMapMutex;
// camera id -> torch status
KeyedVector<String8, ICameraServiceListener::TorchStatus> mTorchStatusMap;
// camera id -> torch client binder