Libbinder cache: ensure binder thread count is checked when removing static list
Test: atest binderCacheUnitTest
Flag: RELEASE_LIBBINDER_REMOVE_CACHE_STATIC_LIST
Bug: 333854840
Change-Id: I5cec4f596887125ca2f8ca0f7c6388e58e97150a
diff --git a/libs/binder/BackendUnifiedServiceManager.cpp b/libs/binder/BackendUnifiedServiceManager.cpp
index 03d687a..34d5a09 100644
--- a/libs/binder/BackendUnifiedServiceManager.cpp
+++ b/libs/binder/BackendUnifiedServiceManager.cpp
@@ -132,6 +132,7 @@
serviceName.c_str());
return false;
}
+ if (kRemoveStaticList) return true;
for (const char* name : kStaticCachableList) {
if (name == serviceName) {
return true;
@@ -175,7 +176,7 @@
"isBinderAlive_false");
}
// If we reach here with kRemoveStaticList=true then we know service isn't lazy
- else if (kRemoveStaticList || mCacheForGetService->isClientSideCachingEnabled(serviceName)) {
+ else if (mCacheForGetService->isClientSideCachingEnabled(serviceName)) {
binder::ScopedTrace aidlTrace(ATRACE_TAG_AIDL,
"BinderCacheWithInvalidation::updateCache successful");
return mCacheForGetService->setItem(serviceName, binder);