Plug worker leaks (#2422)

Thank you @paulwe
This commit is contained in:
Raja Subramanian
2024-01-28 23:12:33 +05:30
committed by GitHub
parent bcf9fe3f0f
commit ea2fa30cf8

View File

@@ -574,6 +574,7 @@ func (r *Room) RemoveParticipant(identity livekit.ParticipantIdentity, pID livek
r.lock.Unlock()
return
}
r.removeParticipantWorkerLocked(p)
if pID != "" && p.ID() != pID {
// participant session has been replaced
@@ -582,7 +583,6 @@ func (r *Room) RemoveParticipant(identity livekit.ParticipantIdentity, pID livek
}
delete(r.participants, identity)
r.removeParticipantWorkerLocked(p)
delete(r.participantOpts, identity)
delete(r.participantRequestSources, identity)
delete(r.hasPublished, identity)
@@ -1529,6 +1529,7 @@ func (r *Room) removeParticipantWorkerLocked(p types.LocalParticipant) {
for idx, participant := range pw.participants {
if p == participant {
pw.participants[idx] = pw.participants[n-1]
pw.participants[n-1] = nil
pw.participants = pw.participants[:n-1]
break
}