livekit / client-sdk-android

LiveKit SDK for Android
https://docs.livekit.io
Apache License 2.0
169 stars 68 forks source link

Fix: Sometimes, the reconnection logic can hang on a flaky internet connection. #301

Closed dshkil closed 9 months ago

dshkil commented 10 months ago

The root cause is obvious: reconnectingLock was not released when this.isClosed == true. To fix the issue, we can handle the case without using the reconnectingLock.

CLAassistant commented 10 months ago

CLA assistant check
All committers have signed the CLA.

davidliu commented 10 months ago

Hmm, I don't want to remove the mutex here (there's going to be more mutex use-cases within the RTCEngine). Can you just add unlock statement in the fail-fast cases?