diff options
| author | 2020-06-01 21:32:34 +0000 | |
|---|---|---|
| committer | 2020-06-01 21:32:34 +0000 | |
| commit | af108c45d6c3bd1adc3821580aba64310d2aeec7 (patch) | |
| tree | a075562157878603dbd3296ac0260ba05f293fda | |
| parent | c3508715f3d749cd281675a28e7e198edf6ef3e3 (diff) | |
| parent | 4d21ec47b0137dfb13a62055ee5f47553baf4dfb (diff) | |
Merge "Add mutual exclusion access for addOrUpdateStream and removeStream"
| -rw-r--r-- | services/core/jni/com_android_server_tv_TvInputHal.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/services/core/jni/com_android_server_tv_TvInputHal.cpp b/services/core/jni/com_android_server_tv_TvInputHal.cpp index 098b2ef6439d..4e1a23416330 100644 --- a/services/core/jni/com_android_server_tv_TvInputHal.cpp +++ b/services/core/jni/com_android_server_tv_TvInputHal.cpp @@ -301,6 +301,7 @@ private: JTvInputHal(JNIEnv* env, jobject thiz, sp<ITvInput> tvInput, const sp<Looper>& looper); Mutex mLock; + Mutex mStreamLock; jweak mThiz; sp<Looper> mLooper; @@ -338,6 +339,7 @@ JTvInputHal* JTvInputHal::createInstance(JNIEnv* env, jobject thiz, const sp<Loo } int JTvInputHal::addOrUpdateStream(int deviceId, int streamId, const sp<Surface>& surface) { + Mutex::Autolock autoLock(&mStreamLock); KeyedVector<int, Connection>& connections = mConnections.editValueFor(deviceId); if (connections.indexOfKey(streamId) < 0) { connections.add(streamId, Connection()); @@ -412,6 +414,7 @@ int JTvInputHal::addOrUpdateStream(int deviceId, int streamId, const sp<Surface> } int JTvInputHal::removeStream(int deviceId, int streamId) { + Mutex::Autolock autoLock(&mStreamLock); KeyedVector<int, Connection>& connections = mConnections.editValueFor(deviceId); if (connections.indexOfKey(streamId) < 0) { return BAD_VALUE; |