summaryrefslogtreecommitdiff
path: root/cmds/servicemanager/ServiceManager.h
diff options
context:
space:
mode:
author Jon Spivack <spivack@google.com> 2019-12-27 20:13:26 -0800
committer Jon Spivack <spivack@google.com> 2020-01-16 18:46:23 -0800
commit5de798e9103c09ae0ae2052822211d36d1fd3b1f (patch)
treed4fd09bab2e408b160dd3bf227854e9e7cc16238 /cmds/servicemanager/ServiceManager.h
parent54dea14617edf0cb6ba05e5713878be8c615a376 (diff)
Dynamically stop services with multiple interfaces
This fixes a couple workflow bugs with dynamic services that had multiple interfaces in use at once. Attempting to stop one could affect the reference count of the other, and re-adding it after a failed removal yielded duplicate registrations. Bug: 146903840 Test: aidl_lazy_test Change-Id: I7ec80a280dabf7c576b7b00dff404a68c24ae5f1
Diffstat (limited to 'cmds/servicemanager/ServiceManager.h')
-rw-r--r--cmds/servicemanager/ServiceManager.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/cmds/servicemanager/ServiceManager.h b/cmds/servicemanager/ServiceManager.h
index 77f52506b9..a2fc5a84c5 100644
--- a/cmds/servicemanager/ServiceManager.h
+++ b/cmds/servicemanager/ServiceManager.h
@@ -75,7 +75,7 @@ private:
void removeRegistrationCallback(const wp<IBinder>& who,
ServiceCallbackMap::iterator* it,
bool* found);
- ssize_t handleServiceClientCallback(const std::string& serviceName);
+ ssize_t handleServiceClientCallback(const std::string& serviceName, bool isCalledOnInterval);
// Also updates mHasClients (of what the last callback was)
void sendClientCallbackNotifications(const std::string& serviceName, bool hasClients);
// removes a callback from mNameToClientCallback, deleting the entry if the vector is empty