提交 91d405a2 authored 作者: Anthony Minessale's avatar Anthony Minessale

call recovery_track on recovering channels once the recovery has completed and…

call recovery_track on recovering channels once the recovery has completed and fix race condition with repeated recovery
上级 b6566b83
......@@ -6134,7 +6134,6 @@ static void sofia_handle_sip_r_invite(switch_core_session_t *session, int status
extract_header_vars(profile, sip, session, nh);
extract_vars(profile, sip, session);
switch_core_recovery_track(session);
switch_channel_clear_flag(tech_pvt->channel, CF_RECOVERING);
}
......
......@@ -1990,6 +1990,10 @@ SWITCH_DECLARE(void) switch_channel_clear_flag(switch_channel_t *channel, switch
switch_core_session_wake_video_thread(channel->session);
}
if (flag == CF_RECOVERING && !channel->hangup_cause) {
switch_core_recovery_track(channel->session);
}
}
......
......@@ -48,6 +48,8 @@ static void switch_core_standard_on_init(switch_core_session_t *session)
switch_channel_set_state(session->channel, CS_ROUTING);
}
}
switch_channel_clear_flag(session->channel, CF_RECOVERING);
}
static void switch_core_standard_on_hangup(switch_core_session_t *session)
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论