[asterisk-dev] [svn-commits] file: trunk r369703 - in /trunk/res/pjproject/pjnath: include/pjnath/ src/pjn...

Paul Belanger paul.belanger at polybeacon.com
Fri Jul 6 16:25:22 CDT 2012


On 12-07-06 10:32 AM, SVN commits to the Digium repositories wrote:
> Author: file
> Date: Fri Jul  6 09:32:30 2012
> New Revision: 369703
>
> URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=369703
> Log:
> Import revision 4196 from pjproject trunk. Fix a crash issue when starting ICE connectivity checks and immediately destroying the ICE session. This was exposed by the SIP CCSS test.
>
> Full fix for this issue will be worked on as a medium to long term roadmap item.
>
> pjroject issue viewable at https://trac.pjsip.org/repos/ticket/1548
>
> Modified:
>      trunk/res/pjproject/pjnath/include/pjnath/ice_session.h
>      trunk/res/pjproject/pjnath/src/pjnath/ice_session.c
>
> Modified: trunk/res/pjproject/pjnath/include/pjnath/ice_session.h
> URL: http://svnview.digium.com/svn/asterisk/trunk/res/pjproject/pjnath/include/pjnath/ice_session.h?view=diff&rev=369703&r1=369702&r2=369703
> ==============================================================================
> --- trunk/res/pjproject/pjnath/include/pjnath/ice_session.h (original)
> +++ trunk/res/pjproject/pjnath/include/pjnath/ice_session.h Fri Jul  6 09:32:30 2012
> @@ -619,6 +619,7 @@
>       pj_uint8_t		*prefs;			    /**< Type preference.   */
>       pj_bool_t		 is_nominating;		    /**< Nominating stage   */
>       pj_bool_t		 is_complete;		    /**< Complete?	    */
> +    pj_bool_t		 is_destroying;		    /**< Destroy is called  */
>       pj_status_t		 ice_status;		    /**< Error status.	    */
>       pj_timer_entry	 timer;			    /**< ICE timer.	    */
>       pj_ice_sess_cb	 cb;			    /**< Callback.	    */
>
> Modified: trunk/res/pjproject/pjnath/src/pjnath/ice_session.c
> URL: http://svnview.digium.com/svn/asterisk/trunk/res/pjproject/pjnath/src/pjnath/ice_session.c?view=diff&rev=369703&r1=369702&r2=369703
> ==============================================================================
> --- trunk/res/pjproject/pjnath/src/pjnath/ice_session.c (original)
> +++ trunk/res/pjproject/pjnath/src/pjnath/ice_session.c Fri Jul  6 09:32:30 2012
> @@ -455,6 +455,8 @@
>   	LOG4((ice->obj_name, "Destroying ICE session"));
>       }
>
> +    ice->is_destroying = PJ_TRUE;
> +
>       /* Let other callbacks finish */
>       if (ice->mutex) {
>   	pj_mutex_lock(ice->mutex);
> @@ -1840,7 +1842,15 @@
>       ice = td->ice;
>       clist = td->clist;
>
> +    if (ice->is_destroying)
> +	return PJ_SUCCESS;
> +
>       pj_mutex_lock(ice->mutex);
> +
> +    if (ice->is_destroying) {
> +	pj_mutex_unlock(ice->mutex);
> +	return PJ_SUCCESS;
> +    }
>
>       /* Set timer ID to FALSE first */
>       te->id = PJ_FALSE;
>
>
I've not had a chance to look yet, but is there a configure flags to 
disable pjproject from even compiling?  Disabling the new features that 
depend on it?  Or is this now considered a core dependency?

-- 
Paul Belanger | PolyBeacon, Inc.
Jabber: paul.belanger at polybeacon.com | IRC: pabelanger (Freenode)
Github: https://github.com/pabelanger | Twitter: 
https://twitter.com/pabelanger





More information about the asterisk-dev mailing list