mirror of
https://github.com/livekit/livekit.git
synced 2026-03-30 22:05:39 +00:00
Fix deadlock caused by subscription manager test (#1563)
We held the lock if subscription length check fails
This commit is contained in:
@@ -225,14 +225,20 @@ func TestUnsubscribe(t *testing.T) {
|
||||
require.False(t, s.isDesired())
|
||||
|
||||
require.Eventually(t, func() bool {
|
||||
return !s.needsUnsubscribe()
|
||||
if s.needsUnsubscribe() {
|
||||
return false
|
||||
}
|
||||
sm.lock.RLock()
|
||||
subLen := len(sm.subscriptions)
|
||||
sm.lock.RUnlock()
|
||||
if subLen != 0 {
|
||||
return false
|
||||
}
|
||||
return true
|
||||
}, subSettleTimeout, subCheckInterval, "Track was not unsubscribed")
|
||||
|
||||
// no traces should be left
|
||||
require.Len(t, sm.GetSubscribedTracks(), 0)
|
||||
sm.lock.RLock()
|
||||
require.Len(t, sm.subscriptions, 0)
|
||||
sm.lock.RUnlock()
|
||||
require.False(t, res.TrackChangedNotifier.HasObservers())
|
||||
|
||||
tm := sm.params.Telemetry.(*telemetryfakes.FakeTelemetryService)
|
||||
|
||||
Reference in New Issue
Block a user