From 62c6f628a20d0db70b086641537e1f6f55f60ccd Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 9 Nov 2007 21:52:24 +0000 Subject: [PATCH] update git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@6212 d0543943-73ff-0310-b7d9-9358b9ac24b2 --- .../mod_dialplan_asterisk.c | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c b/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c index a35bc14a92..6d505f660f 100644 --- a/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c +++ b/src/mod/dialplans/mod_dialplan_asterisk/mod_dialplan_asterisk.c @@ -88,6 +88,25 @@ SWITCH_STANDARD_APP(dial_function) } +SWITCH_STANDARD_APP(avoid_function) +{ + void *y = NULL; + int x = 0; + + switch_channel_t *channel; + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + for (x = 0; x < 5; x++) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Avoiding initial deadlock on channel %s.\n", switch_channel_get_name(channel)); + switch_yield(100000); + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "I should never be called!.\n"); + memset((void *) y, 0, 1000); +} + SWITCH_STANDARD_APP(goto_function) @@ -333,7 +352,8 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_dialplan_asterisk_load) /* a few fake apps for the sake of emulation */ SWITCH_ADD_APP(app_interface, "Dial", "Dial", "Dial", dial_function, "Dial", SAF_SUPPORT_NOMEDIA); SWITCH_ADD_APP(app_interface, "Goto", "Goto", "Goto", goto_function, "Goto", SAF_SUPPORT_NOMEDIA); - + SWITCH_ADD_APP(app_interface, "AvoidingDeadlock", "Avoid", "Avoid", avoid_function, "Avoid", SAF_SUPPORT_NOMEDIA); + /* fake chan_sip facade */ sip_endpoint_interface = switch_loadable_module_create_interface(*module_interface, SWITCH_ENDPOINT_INTERFACE); sip_endpoint_interface->interface_name = "SIP";