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
Loading
Please register or sign in to comment