AudioService: fix deadlock
Source of deadlock:
Thread A:
readAudioSettings()
-> checkAllAliasStreamVolumes()
-> synchronized (VolumeStreamState.class)
-> mStreamStates[streamType].setAllIndexes()
-> synchronized (mSettingsLock)
Thread B:
updateStreamVolumeAlias()
-> mStreamStates[ACCESSIBILITY].setAllIndexes()
-> synchronized (mSettingsLock)
-> synchronized (VolumeStreamState.class)
Fix:
Ensure all calls to VSS.setAllIndexes() are synchronized
on mSettingsLock then on VolumeStreamState.class.
Bug: 72122435
Test: see bug for repro
Change-Id: I16ad1d1df88256291c36d8f5b8ebe830fe1b0b84
1 file changed