mirror of
https://github.com/signalwire/freeswitch.git
synced 2025-04-18 01:28:42 +00:00
FS-8384 #resolve [Locking contention in mod_conference]
This commit is contained in:
parent
a711b7cd88
commit
5b4c725963
@ -554,8 +554,6 @@ mcu_layer_t *conference_video_get_layer_locked(conference_member_t *member)
|
|||||||
|
|
||||||
if (!member || member->canvas_id < 0 || member->video_layer_id < 0) return NULL;
|
if (!member || member->canvas_id < 0 || member->video_layer_id < 0) return NULL;
|
||||||
|
|
||||||
switch_mutex_lock(member->conference->canvas_mutex);
|
|
||||||
|
|
||||||
canvas = member->conference->canvases[member->canvas_id];
|
canvas = member->conference->canvases[member->canvas_id];
|
||||||
|
|
||||||
if (!canvas) {
|
if (!canvas) {
|
||||||
@ -571,10 +569,6 @@ mcu_layer_t *conference_video_get_layer_locked(conference_member_t *member)
|
|||||||
|
|
||||||
end:
|
end:
|
||||||
|
|
||||||
if (!layer) {
|
|
||||||
switch_mutex_unlock(member->conference->canvas_mutex);
|
|
||||||
}
|
|
||||||
|
|
||||||
return layer;
|
return layer;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -592,8 +586,6 @@ void conference_video_release_layer(mcu_layer_t **layer)
|
|||||||
|
|
||||||
switch_assert(canvas->conference);
|
switch_assert(canvas->conference);
|
||||||
|
|
||||||
switch_mutex_unlock(canvas->conference->canvas_mutex);
|
|
||||||
|
|
||||||
*layer = NULL;
|
*layer = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user