summaryrefslogtreecommitdiff
path: root/libs/androidfw/ApkParsing.cpp
diff options
context:
space:
mode:
author Daniel <danieljkim@google.com> 2022-12-23 02:14:45 +0000
committer Daniel <danieljkim@google.com> 2022-12-23 02:25:31 +0000
commita28af297d370fa3bcea14e0b6883343433a35d9c (patch)
treee765b1551a291871119db4261fc1fd4516d14a23 /libs/androidfw/ApkParsing.cpp
parent81b2644ede5c807a98f76698cda04b419933d657 (diff)
Fix deadlock by not acquiring lock when reporting proximity
There is a deadlock situation from AttentionManagerService acquiring lock before callings back to its clients with the proximity update. This can cause a deadlock because the clients, while holding their own locks, can call AttentionManagerService again. Thread 1: Acquires attention lock -> AttentionManager Service reports proximityUpdate to VoiceInteraction -> tries to acquire voice lock Thread 2: Acquires voice lock -> VoiceService tries to cancel proximity updates -> tries to acquire attention lock The deadlock can be fixed by removing the acquiring attention lock step before reporting proximityUpdates to the clients. Bug: 261143716 Test: atest CtsAttentionServiceDeviceTestCases Change-Id: I9f7d520cbcfd57032a9476853acad025fd7a6b95
Diffstat (limited to 'libs/androidfw/ApkParsing.cpp')
0 files changed, 0 insertions, 0 deletions