mirror of
https://git.jami.net/savoirfairelinux/jami-daemon.git
synced 2025-08-12 22:09:25 +08:00

When requesting destruction of ice session and stream transport instances from PJNATH, some operation will be done asynchronously through scheduled timers. If not properly handled, the timer heap will still contain timer entries when the timer heap and the IO queueu are destroyed. Now, the timer heap is given more time to flush the remaining timer entries before the IO queue and the timer heap are destructed. The timer heap may still contain timer entries if PJNATH does not process all the timers within the givent max time (currently set to 3s). Gitlab: #637 Change-Id: I5ef2fe9d824e8b57191a51fac8f9e53e0e626fcd
23 lines
662 B
Diff
23 lines
662 B
Diff
pjnath/src/pjnath/ice_session.c | 4 ++++
|
|
1 file changed, 4 insertions(+)
|
|
|
|
diff --git a/pjnath/src/pjnath/ice_session.c b/pjnath/src/pjnath/ice_session.c
|
|
index 503cbfd91..f060aaa9c 100644
|
|
--- a/pjnath/src/pjnath/ice_session.c
|
|
+++ b/pjnath/src/pjnath/ice_session.c
|
|
@@ -4138,7 +4138,11 @@ static void handle_incoming_check(pj_ice_sess *ice,
|
|
LOG4((ice->obj_name, "New triggered check added: %d",
|
|
ice->clist.count));
|
|
pj_log_push_indent();
|
|
+
|
|
perform_check(ice, &ice->clist, ice->clist.count++, nominate);
|
|
+ /* Re-sort the list because of the newly added pair. */
|
|
+ sort_checklist(ice, &ice->clist);
|
|
+
|
|
pj_log_pop_indent();
|
|
|
|
} else {
|
|
--
|
|
2.25.1
|
|
|