Skip to content

Commit c07d159

Browse files
Fixed thread visibility issues in SignalClient. (#819)
Added @volatile to isConnected, currentWs, and isReconnecting fields that are accessed from multiple threads (OkHttp callbacks and IO dispatcher coroutines).
1 parent d846086 commit c07d159

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"client-sdk-android": patch
3+
---
4+
5+
Fix thread visibility issues in SignalClient that could cause messages to be silently dropped.

livekit-android-sdk/src/main/java/io/livekit/android/room/SignalClient.kt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,14 @@ constructor(
7979
private val ioDispatcher: CoroutineDispatcher,
8080
private val networkInfo: NetworkInfo,
8181
) : WebSocketListener() {
82+
@Volatile
8283
var isConnected = false
8384
private set
85+
86+
@Volatile
8487
private var currentWs: WebSocket? = null
88+
89+
@Volatile
8590
private var isReconnecting: Boolean = false
8691
var listener: Listener? = null
8792
internal var serverVersion: Semver? = null

0 commit comments

Comments
 (0)