summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLiong Sauw Ming <ming@teluu.com>2016-08-25 01:32:42 +0000
committerLiong Sauw Ming <ming@teluu.com>2016-08-25 01:32:42 +0000
commite9fc0d90805002cbca667c7c1d8c275adc458bc6 (patch)
tree76c3733be3a68d78954af074c55f0e38160163f0
parentc2923ca934d28338e263a711cab3372bfd6812ce (diff)
Fixed #1957: ICE stagnation when connectivity check fails
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@5427 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjnath/src/pjnath/ice_session.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/pjnath/src/pjnath/ice_session.c b/pjnath/src/pjnath/ice_session.c
index b6613d0a..ed4b055c 100644
--- a/pjnath/src/pjnath/ice_session.c
+++ b/pjnath/src/pjnath/ice_session.c
@@ -1892,9 +1892,9 @@ static pj_status_t start_periodic_check(pj_timer_heap_t *th,
if (check->state == PJ_ICE_SESS_CHECK_STATE_WAITING) {
status = perform_check(ice, clist, i, ice->is_nominating);
if (status != PJ_SUCCESS) {
- pj_grp_lock_release(ice->grp_lock);
- pj_log_pop_indent();
- return status;
+ check_set_state(ice, check, PJ_ICE_SESS_CHECK_STATE_FAILED,
+ status);
+ on_check_complete(ice, check);
}
++start_count;
@@ -1912,9 +1912,9 @@ static pj_status_t start_periodic_check(pj_timer_heap_t *th,
if (check->state == PJ_ICE_SESS_CHECK_STATE_FROZEN) {
status = perform_check(ice, clist, i, ice->is_nominating);
if (status != PJ_SUCCESS) {
- pj_grp_lock_release(ice->grp_lock);
- pj_log_pop_indent();
- return status;
+ check_set_state(ice, check,
+ PJ_ICE_SESS_CHECK_STATE_FAILED, status);
+ on_check_complete(ice, check);
}
++start_count;