提交 d2bbd507 authored 作者: Anthony Minessale's avatar Anthony Minessale 提交者: Michael Jerris

FS-7513: tweak locking on video read callback

上级 a006d53a
......@@ -2986,6 +2986,11 @@ switch_status_t video_thread_callback(switch_core_session_t *session, switch_fra
switch_assert(member);
lock_member(member);
if (switch_thread_rwlock_tryrdlock(member->conference->rwlock) != SWITCH_STATUS_SUCCESS) {
unlock_member(member);
return SWITCH_STATUS_FALSE;
}
for (rel = member->relationships; rel; rel = rel->next) {
conference_member_t *imember;
......@@ -3011,7 +3016,7 @@ switch_status_t video_thread_callback(switch_core_session_t *session, switch_fra
last = rel;
}
unlock_member(member);
if (member) {
if (member->id == member->conference->video_floor_holder) {
......@@ -3026,6 +3031,9 @@ switch_status_t video_thread_callback(switch_core_session_t *session, switch_fra
}
}
unlock_member(member);
switch_thread_rwlock_unlock(member->conference->rwlock);
return SWITCH_STATUS_SUCCESS;
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论