summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2011-09-27 14:07:45 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-27 14:07:45 -0700
commit17799467c64629ef174d8f09cc89c4049624dcac (patch)
treefb668b2815e6c273ee95099f54978aafc1a94007
parentdd115cd3b1429a39f1c8e77cbdf03e760ebdb6c3 (diff)
parent9d18ec574f5d847a86a21594ac39394ef5b108fc (diff)
Merge "Fix issue 5373658: memory leak in AudioFlinger."
-rw-r--r--services/audioflinger/AudioFlinger.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index 88a05b2e..01f5a6f4 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -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()