Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 593111f4 authored by Jeff Tinker's avatar Jeff Tinker
Browse files

Don't leak hwservicemanager binders

Use defaultServiceManager() instead of IServiceManager::getService()

bug:62073349
test:
  repeat {launch Play Movies, play a movie, exit} while monitoring
    adb shell cat /sys/kernel/debug/binder/stats |
    grep -A10 '^proc <mediadrmserver PID>'
  --> Make sure number of nodes is stable

Change-Id: Ibea0437ed21a9d58f3eb7ffa9461fb71d9c2b4ab
parent a666b698
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@
#include <android/hardware/drm/1.0/IDrmPlugin.h>
#include <android/hardware/drm/1.0/types.h>
#include <android/hidl/manager/1.0/IServiceManager.h>
#include <hidl/ServiceManagement.h>

#include <media/DrmHal.h>
#include <media/DrmSessionClientInterface.h>
@@ -200,7 +201,7 @@ DrmHal::~DrmHal() {
Vector<sp<IDrmFactory>> DrmHal::makeDrmFactories() {
    Vector<sp<IDrmFactory>> factories;

    auto manager = ::IServiceManager::getService();
    auto manager = hardware::defaultServiceManager();

    if (manager != NULL) {
        manager->listByInterface(IDrmFactory::descriptor,