[asterisk-commits] kharwell: branch certified-13.1 r431667 - in /certified/branches/13.1: ./ res...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Wed Feb 11 10:19:39 CST 2015
Author: kharwell
Date: Wed Feb 11 10:19:35 2015
New Revision: 431667
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=431667
Log:
pjsip_options: Fix continued qualifies after endpoint/aor deletion
If you remove an endpoint/aor from pjsip.conf then do a core reload,
qualifies will continue even though the object are gone. This happens
because nothing clears out the qualify tasks.
This patch unschedules all existing qualify tasks before scheduling
new ones on reload.
Tested-by: George Joseph
Review: https://reviewboard.asterisk.org/r/4290/
........
Merged revisions 430064 from http://svn.asterisk.org/svn/asterisk/branches/13
Modified:
certified/branches/13.1/ (props changed)
certified/branches/13.1/res/res_pjsip/pjsip_options.c
Propchange: certified/branches/13.1/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.
Modified: certified/branches/13.1/res/res_pjsip/pjsip_options.c
URL: http://svnview.digium.com/svn/asterisk/certified/branches/13.1/res/res_pjsip/pjsip_options.c?view=diff&rev=431667&r1=431666&r2=431667
==============================================================================
--- certified/branches/13.1/res/res_pjsip/pjsip_options.c (original)
+++ certified/branches/13.1/res/res_pjsip/pjsip_options.c Wed Feb 11 10:19:35 2015
@@ -1006,9 +1006,24 @@
return 0;
}
+/*!
+ * \internal
+ * \brief Unschedule all existing contacts
+ */
+static int unschedule_all_cb(void *obj, void *arg, int flags)
+{
+ struct sched_data *data = obj;
+
+ AST_SCHED_DEL_UNREF(sched, data->id, ao2_ref(data, -1));
+
+ return CMP_MATCH;
+}
+
static void qualify_and_schedule_all(void)
{
struct ao2_container *endpoints = ast_sip_get_endpoints();
+
+ ao2_callback(sched_qualifies, OBJ_NODATA | OBJ_MULTIPLE | OBJ_UNLINK, unschedule_all_cb, NULL);
if (!endpoints) {
return;
More information about the asterisk-commits
mailing list