[automerger skipped] Merge 24Q3 to AOSP main am: 60d226fc1f -s ours
am skip reason: Merged-In Ibe9b06e590ed420f29c790188dee11674fca5a2e with SHA-1 68e90f1b4e is already in history
Original change: https://android-review.googlesource.com/c/platform/frameworks/native/+/3258441
Change-Id: Ib0da7bfe26dfc66dcea462f01a41db32ad52a33f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
diff --git a/libs/binder/IServiceManager.cpp b/libs/binder/IServiceManager.cpp
index 8a90ce2..88761d7 100644
--- a/libs/binder/IServiceManager.cpp
+++ b/libs/binder/IServiceManager.cpp
@@ -157,7 +157,7 @@
class AccessorProvider {
public:
- AccessorProvider(RpcAccessorProvider&& provider) : mProvider(provider) {}
+ AccessorProvider(RpcAccessorProvider&& provider) : mProvider(std::move(provider)) {}
sp<IBinder> provide(const String16& name) { return mProvider(name); }
private:
@@ -168,7 +168,8 @@
class AccessorProviderEntry {
public:
- AccessorProviderEntry(std::shared_ptr<AccessorProvider>&& provider) : mProvider(provider) {}
+ AccessorProviderEntry(std::shared_ptr<AccessorProvider>&& provider)
+ : mProvider(std::move(provider)) {}
std::shared_ptr<AccessorProvider> mProvider;
private:
@@ -183,7 +184,7 @@
class LocalAccessor : public android::os::BnAccessor {
public:
LocalAccessor(const String16& instance, RpcSocketAddressProvider&& connectionInfoProvider)
- : mInstance(instance), mConnectionInfoProvider(connectionInfoProvider) {
+ : mInstance(instance), mConnectionInfoProvider(std::move(connectionInfoProvider)) {
LOG_ALWAYS_FATAL_IF(!mConnectionInfoProvider,
"LocalAccessor object needs a valid connection info provider");
}
@@ -321,9 +322,10 @@
std::lock_guard<std::mutex> lock(gAccessorProvidersMutex);
std::shared_ptr<AccessorProvider> provider =
std::make_shared<AccessorProvider>(std::move(providerCallback));
+ std::weak_ptr<AccessorProvider> receipt = provider;
gAccessorProviders.push_back(AccessorProviderEntry(std::move(provider)));
- return provider;
+ return receipt;
}
status_t removeAccessorProvider(std::weak_ptr<AccessorProvider> wProvider) {