[svn-commits] mmichelson: branch group/CCSS_Monitor_Restructure r244501 - /team/group/CCSS_...

SVN commits to the Digium repositories svn-commits at lists.digium.com
Wed Feb 3 09:59:58 CST 2010


Author: mmichelson
Date: Wed Feb  3 09:59:53 2010
New Revision: 244501

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=244501
Log:
Use proper agent refcounting with regards to the scheduling the offer timer.


Modified:
    team/group/CCSS_Monitor_Restructure/main/ccss.c

Modified: team/group/CCSS_Monitor_Restructure/main/ccss.c
URL: http://svnview.digium.com/svn/asterisk/team/group/CCSS_Monitor_Restructure/main/ccss.c?view=diff&rev=244501&r1=244500&r2=244501
==============================================================================
--- team/group/CCSS_Monitor_Restructure/main/ccss.c (original)
+++ team/group/CCSS_Monitor_Restructure/main/ccss.c Wed Feb  3 09:59:53 2010
@@ -2026,6 +2026,7 @@
 	struct cc_generic_agent_pvt *agent_pvt = agent->private_data;
 	ast_log_dynamic_level(cc_logger_level, "Queuing change request because offer timer has expired.\n");
 	agent_pvt->offer_timer_id = -1;
+	cc_unref(agent, "Remove scheduler's reference to the agent");
 	ast_cc_failed(agent->core_id, "Generic agent offer timer expired");
 	return 0;
 }
@@ -2041,7 +2042,7 @@
 
 	when = ast_get_cc_offer_timer(agent->cc_params) * 1000;
 	ast_log_dynamic_level(cc_logger_level, "About to schedule offer timer expiration for %d ms\n", when);
-	if ((sched_id = ast_sched_thread_add(cc_sched_thread, when, offer_timer_expire, agent)) == -1) {
+	if ((sched_id = ast_sched_thread_add(cc_sched_thread, when, offer_timer_expire, cc_ref(agent, "Give scheduler an agent ref"))) == -1) {
 		return -1;
 	}
 	generic_pvt->offer_timer_id = sched_id;
@@ -2055,6 +2056,7 @@
 	if (generic_pvt->offer_timer_id != -1) {
 		ast_sched_thread_del(cc_sched_thread, generic_pvt->offer_timer_id);
 		generic_pvt->offer_timer_id = -1;
+		cc_unref(agent, "Remove scheduler's reference to the agent");
 	}
 	return 0;
 }




More information about the svn-commits mailing list