diff options
author | Ravi Kumar Alamanda <ralama@codeaurora.org> | 2014-12-22 10:05:29 +0530 |
---|---|---|
committer | Vineeta Srivastava <vsrivastava@google.com> | 2015-03-11 13:24:05 -0700 |
commit | 330c8e3ff98e4cb78dad28bbacdb127da3e265ac (patch) | |
tree | f66830ef1c30d5598f693576cb883b8bdded91fc /media/libstagefright/avc_utils.cpp | |
parent | bf31b3301676ad86151f632e9ca186fd02445d86 (diff) | |
download | frameworks_av-330c8e3ff98e4cb78dad28bbacdb127da3e265ac.zip frameworks_av-330c8e3ff98e4cb78dad28bbacdb127da3e265ac.tar.gz frameworks_av-330c8e3ff98e4cb78dad28bbacdb127da3e265ac.tar.bz2 |
libmediaplayerservice: fix deadlock in dump()
Issue: Calling dump function while the media clients
(sessions) are created and destroyed will result in a deadlock.
Description: MediaPlayerService::dump() takes Mutex while calling
client::dump() and right after that the strong reference to client
is cleared. If there are no references to client object at this moment
(which is the case if multiple audio sessions are created and destroyed)
then the client destructor gets called which tries to take
the same Mutex resulting in a deadlock.
Fix: Take a strong reference to client objects and release them only
after releasing the Mutex.
Bug: 18700631
Author: Sidipotu Ashok<sashok@codeaurora.org>
Change-Id: I82c89771de352d2f0d914eb0a3b9fc7bfb6116b0
Diffstat (limited to 'media/libstagefright/avc_utils.cpp')
0 files changed, 0 insertions, 0 deletions