diff options
author | Liong Sauw Ming <ming@teluu.com> | 2016-08-25 01:32:42 +0000 |
---|---|---|
committer | Liong Sauw Ming <ming@teluu.com> | 2016-08-25 01:32:42 +0000 |
commit | e9fc0d90805002cbca667c7c1d8c275adc458bc6 (patch) | |
tree | 76c3733be3a68d78954af074c55f0e38160163f0 | |
parent | c2923ca934d28338e263a711cab3372bfd6812ce (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.c | 12 |
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; |