Snap for 6626121 from 85c2f4e1d68ac7dba4495e29b246725524eb0da5 to rvc-release
Change-Id: Iddcee4b859eda856ada182d1d39d4f0027bcde11
diff --git a/ServiceManager.cpp b/ServiceManager.cpp
index 165a8d9..85d4974 100644
--- a/ServiceManager.cpp
+++ b/ServiceManager.cpp
@@ -284,6 +284,12 @@
// Let HidlService know that we handed out a client. If the client drops the service before the
// next time handleClientCallbacks is called, it will still know that the service had been handed out.
hidlService->guaranteeClient();
+ forEachExistingService([&] (HidlService *otherService) {
+ if (otherService != hidlService && interfacesEqual(service, otherService->getService())) {
+ otherService->guaranteeClient();
+ }
+ return true;
+ });
// This is executed immediately after the binder driver confirms the transaction. The driver
// will update the appropriate data structures to reflect the fact that the client now has the