diff options
| author | 2024-10-17 22:09:13 +0000 | |
|---|---|---|
| committer | 2024-10-18 19:05:52 +0000 | |
| commit | be525fb5caadf8fb8fdc96c251c93397a8abc44a (patch) | |
| tree | 566f573171b5ffd99827f58d7a563ae87ba4d653 /api/api.go | |
| parent | 19ec5dc47fe3729340c194a3324a3ee56c49a45b (diff) | |
Fix deadlock between attachSystemDataTransport and addOnTransportsChangedListener.
Thread 1: CompanionTransportManager#attachSystemDataTransport -> (hold mTransports lock) -> notifyOnTransportsChanged -> (wait on mTransportsListeners)
Thread 2: CompanionTransportManager#addListener(IOnTransportsChangedListener listener) -> (hold mTransportsListeners lock) -> getAssociationsWithTransport -> (wait on mTransports)
This change is to use the same lock for both mTransports and
mTransportsListeners.
Test: Can no longer reproduce the deadlock in a test I am writing for wearable sensing.
Bug: 374165899
Flag: EXEMPT bug fix
Change-Id: Ife7fec38d163d81c9039e84406b2d12dcef518c8
Diffstat (limited to 'api/api.go')
0 files changed, 0 insertions, 0 deletions