From 071e7dcc2bda77bab2edc2837df3028c0c08e3d9 Mon Sep 17 00:00:00 2001 From: Treehugger Robot Date: Mon, 1 Jun 2020 23:03:36 +0000 Subject: [PATCH] Merge "Add mutual exclusion access for addOrUpdateStream and removeStream" am: af108c45d6 am: 760c2bccd2 am: bd580a07b4 am: 91e082a90d am: 7f6cc71fe5 Original change: undetermined Bug: 136411965 Change-Id: I883a0670da87df1b29f76f64081f9c15bd18256f (cherry picked from commit 2ea319923c3c6da2bb6c310a8f082ad9ca9f23d5) --- services/core/jni/com_android_server_tv_TvInputHal.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/core/jni/com_android_server_tv_TvInputHal.cpp b/services/core/jni/com_android_server_tv_TvInputHal.cpp index 098b2ef6439dd..4e1a234163309 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 tvInput, const sp& looper); Mutex mLock; + Mutex mStreamLock; jweak mThiz; sp mLooper; @@ -338,6 +339,7 @@ JTvInputHal* JTvInputHal::createInstance(JNIEnv* env, jobject thiz, const sp& surface) { + Mutex::Autolock autoLock(&mStreamLock); KeyedVector& 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 } int JTvInputHal::removeStream(int deviceId, int streamId) { + Mutex::Autolock autoLock(&mStreamLock); KeyedVector& connections = mConnections.editValueFor(deviceId); if (connections.indexOfKey(streamId) < 0) { return BAD_VALUE;