[asterisk-commits] rmudgett: branch rmudgett/bridge_phase r392310 - /team/rmudgett/bridge_phase/...

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Jun 19 22:22:07 CDT 2013


Author: rmudgett
Date: Wed Jun 19 22:22:06 2013
New Revision: 392310

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=392310
Log:
Implement the right bridge subclass method.

Modified:
    team/rmudgett/bridge_phase/apps/app_agent_pool.c

Modified: team/rmudgett/bridge_phase/apps/app_agent_pool.c
URL: http://svnview.digium.com/svn/asterisk/team/rmudgett/bridge_phase/apps/app_agent_pool.c?view=diff&rev=392310&r1=392309&r2=392310
==============================================================================
--- team/rmudgett/bridge_phase/apps/app_agent_pool.c (original)
+++ team/rmudgett/bridge_phase/apps/app_agent_pool.c Wed Jun 19 22:22:06 2013
@@ -1001,15 +1001,22 @@
 }
 
 /*!
- * \brief Destroy the bridge.
+ * \brief The bridge is being dissolved.
  *
  * \param self Bridge to operate upon.
  *
+ * \details
+ * The bridge is being dissolved.  Remove any external
+ * references to the bridge so it can be destroyed.
+ *
+ * \note On entry, self must NOT be locked.
+ *
  * \return Nothing
  */
-static void bridge_agent_hold_destroy(struct ast_bridge *self)
+static void bridge_agent_hold_dissolving(struct ast_bridge *self)
 {
 	ao2_global_obj_replace_unref(agent_holding, NULL);
+	ast_bridge_base_v_table.dissolving(self);
 }
 
 static struct ast_bridge_methods bridge_agent_hold_v_table;
@@ -1031,7 +1038,7 @@
 	/* Setup bridge agent_hold subclass v_table. */
 	bridge_agent_hold_v_table = ast_bridge_base_v_table;
 	bridge_agent_hold_v_table.name = "agent_hold";
-	bridge_agent_hold_v_table.destroy = bridge_agent_hold_destroy;
+	bridge_agent_hold_v_table.dissolving = bridge_agent_hold_dissolving;
 	bridge_agent_hold_v_table.push = bridge_agent_hold_push;
 	bridge_agent_hold_v_table.pull = bridge_agent_hold_pull;
 }




More information about the asterisk-commits mailing list