summaryrefslogtreecommitdiffstats
path: root/media/libmedia
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2010-09-23 16:10:16 -0700
committerEric Laurent <elaurent@google.com>2010-09-24 09:32:40 -0700
commit84e9a10fde8a4ae3da4f88d7911c154933aa457f (patch)
treef6d4eb3c73c82ac83000f11049ebda3f19fd9dc3 /media/libmedia
parent1f78badb5398c17526be021e3c9e3c4aa24536ec (diff)
downloadframeworks_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