diff options
author | Eric Laurent <elaurent@google.com> | 2010-09-23 16:10:16 -0700 |
---|---|---|
committer | Eric Laurent <elaurent@google.com> | 2010-09-24 09:32:40 -0700 |
commit | 84e9a10fde8a4ae3da4f88d7911c154933aa457f (patch) | |
tree | f6d4eb3c73c82ac83000f11049ebda3f19fd9dc3 /media/libmedia | |
parent | 1f78badb5398c17526be021e3c9e3c4aa24536ec (diff) | |
download | frameworks_av-84e9a10fde8a4ae3da4f88d7911c154933aa457f.zip frameworks_av-84e9a10fde8a4ae3da4f88d7911c154933aa457f.tar.gz frameworks_av-84e9a10fde8a4ae3da4f88d7911c154933aa457f.tar.bz2 |
Fix issue 3007862
Removed a cross deadlock condition between audioflinger and audio policy
service mutexes.
Audioflinger::createEffect() locks audioflinger mutex and then calls
AudioSystem::getOutputForEffect() which ends up in
AudioPolicyService::getOutputForEffect() which locks audio policy service
mutex. If at the same time, the command thread in audio policy service is
processing a command(set volume, set route...), the mutex is locked and the
command will call one audioflinger method which in turn will attempt to
lock audioflinger mutex.
The fix consists in releasing audioflinger mutex before calling
getOutputForEffect().
Change-Id: Id44e7feb36e0a295731f6aa97cf32d022edd34d0
Diffstat (limited to 'media/libmedia')
0 files changed, 0 insertions, 0 deletions