commit | 6eef6394860146e17cbfb0c17f137ff908757b7e | [log] [tgz] |
---|---|---|
author | Pawan Wagh <waghpawan@google.com> | Wed Sep 21 23:52:33 2022 +0000 |
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | Wed Sep 21 23:52:33 2022 +0000 |
tree | 242b9388a27c2db3ed10e41727067909573ab17f | |
parent | cb97ed013167c72b89c8a270ea772c5b7527c419 [diff] | |
parent | 1c1f4122c4c4024916220aa3bba2ee41711f6462 [diff] |
Merge "servicemanager : Adding clear API to ServiceManager" am: 00a54e416a am: 77527d1c6b am: 1c1f4122c4 Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/2222273 Change-Id: I0794b3d3e0c8f6c13c60894deb893e9037600492 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/cmds/servicemanager/ServiceManager.cpp b/cmds/servicemanager/ServiceManager.cpp index 3cfe529..0727383 100644 --- a/cmds/servicemanager/ServiceManager.cpp +++ b/cmds/servicemanager/ServiceManager.cpp
@@ -762,4 +762,10 @@ return Status::ok(); } +void ServiceManager::clear() { + mNameToService.clear(); + mNameToRegistrationCallback.clear(); + mNameToClientCallback.clear(); +} + } // namespace android
diff --git a/cmds/servicemanager/ServiceManager.h b/cmds/servicemanager/ServiceManager.h index 5e40319..c6db697 100644 --- a/cmds/servicemanager/ServiceManager.h +++ b/cmds/servicemanager/ServiceManager.h
@@ -58,6 +58,12 @@ void binderDied(const wp<IBinder>& who) override; void handleClientCallbacks(); + /** + * This API is added for debug purposes. It clears members which hold service and callback + * information. + */ + void clear(); + protected: virtual void tryStartService(const std::string& name);
diff --git a/cmds/servicemanager/ServiceManagerFuzzer.cpp b/cmds/servicemanager/ServiceManagerFuzzer.cpp index 39f8522..b76a6bd 100644 --- a/cmds/servicemanager/ServiceManagerFuzzer.cpp +++ b/cmds/servicemanager/ServiceManagerFuzzer.cpp
@@ -29,6 +29,7 @@ auto accessPtr = std::make_unique<Access>(); auto serviceManager = sp<ServiceManager>::make(std::move(accessPtr)); fuzzService(serviceManager, FuzzedDataProvider(data, size)); + serviceManager->clear(); return 0; }