diff options
| author | 2024-01-09 23:10:13 +0000 | |
|---|---|---|
| committer | 2024-01-09 23:20:45 +0000 | |
| commit | b13da8fa00af57b14318fb5b0ce64d6c700852ad (patch) | |
| tree | 169339efc07636433b91d48aeff069295e0d0ba3 /libs/gui/BLASTBufferQueue.cpp | |
| parent | afb7d61d836667787c5e0b083be435a41c843126 (diff) | |
InputDispatcher: Do not synthesize cancelations for zombie connections
When an input channel is removed, we mark it as a zombie connection in
Dispatcher.
Whenever we leave a critical section inside Dispatcher, it is possible
for an input channel to be removed. When handling fallback keys, we make
a policy call synchronously while processing the unhandled key
by releasing the lock. After returning from the policy call, it's
possible the input channel was removed, leaving the connection in a
zombie state.
When in this state, if we try to synthesize a cancelation event, we
would end up crashing. To avoid this, ensure we don't try to synthesize
cancelations for channels that aren't normal (i.e. broken or zombie
channels).
Bug: 319186639
Test: atest inputflinger_tests
Change-Id: I05a9b001de19bf26d81ea50a511d84bc3a2045d2
Diffstat (limited to 'libs/gui/BLASTBufferQueue.cpp')
0 files changed, 0 insertions, 0 deletions