OSDN Git Service

Fix issue 5373658: memory leak in AudioFlinger.
authorEric Laurent <elaurent@google.com>
Tue, 27 Sep 2011 19:07:15 +0000 (12:07 -0700)
committerEric Laurent <elaurent@google.com>
Tue, 27 Sep 2011 19:07:15 +0000 (12:07 -0700)
Unlink PowerManagerService binder interface death recipient
in ThreadBase destructor.

Change-Id: Iab06ae9a8a6737bb002b6416a157b0fb50c11ad5

services/audioflinger/AudioFlinger.cpp

index 88a05b2..01f5a6f 100644 (file)
@@ -985,6 +985,10 @@ AudioFlinger::ThreadBase::~ThreadBase()
     mNewParameters.clear();
     // do not lock the mutex in destructor
     releaseWakeLock_l();
+    if (mPowerManager != 0) {
+        sp<IBinder> binder = mPowerManager->asBinder();
+        binder->unlinkToDeath(mDeathRecipient);
+    }
 }
 
 void AudioFlinger::ThreadBase::exit()