From 8401e813833a6ef09073325409cd65b6840943b3 Mon Sep 17 00:00:00 2001 From: Joshua Colp Date: Wed, 18 Jul 2012 15:15:41 +0000 Subject: Fix a crash in pjnath when starting an ICE connectivity check and immediately destroying the ICE session. The initial ICE connectivity check is scheduled as a timer item that is to be executed immediately. It is possible for this timer item to start executing while the ICE session it is working on is destroyed. To reduce the chance of this any timer items that need to be immediately executed will be executed within the thread that has started the initial ICE connectivity check. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370177 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- res/res_rtp_asterisk.c | 1 + 1 file changed, 1 insertion(+) (limited to 'res/res_rtp_asterisk.c') diff --git a/res/res_rtp_asterisk.c b/res/res_rtp_asterisk.c index 347f29c89..6c6aa1578 100644 --- a/res/res_rtp_asterisk.c +++ b/res/res_rtp_asterisk.c @@ -489,6 +489,7 @@ static void ast_rtp_ice_start(struct ast_rtp_instance *instance) if (pj_ice_sess_create_check_list(rtp->ice, &ufrag, &passwd, ao2_container_count(rtp->remote_candidates), &candidates[0]) == PJ_SUCCESS) { pj_ice_sess_start_check(rtp->ice); + pj_timer_heap_poll(timerheap, NULL); rtp->ice_started = 1; } } -- cgit v1.2.3