Diff
Modified: freeswitch/trunk/src/include/switch_types.h (16219 => 16220)
--- freeswitch/trunk/src/include/switch_types.h 2010-01-08 21:43:43 UTC (rev 16219)
+++ freeswitch/trunk/src/include/switch_types.h 2010-01-08 22:10:03 UTC (rev 16220)
@@ -1433,7 +1433,8 @@
SCSC_CANCEL_SHUTDOWN,
SCSC_SEND_SIGHUP,
SCSC_DEBUG_LEVEL,
- SCSC_FLUSH_DB_HANDLES
+ SCSC_FLUSH_DB_HANDLES,
+ SCSC_SHUTDOWN_NOW
} switch_session_ctl_t;
typedef enum {
Modified: freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c (16219 => 16220)
--- freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c 2010-01-08 21:43:43 UTC (rev 16219)
+++ freeswitch/trunk/src/mod/applications/mod_commands/mod_commands.c 2010-01-08 22:10:03 UTC (rev 16220)
@@ -1477,6 +1477,8 @@
break;
} else if (!strcasecmp(argv[x], "elegant")) {
command = SCSC_SHUTDOWN_ELEGANT;
+ } else if (!strcasecmp(argv[x], "now")) {
+ command = SCSC_SHUTDOWN_NOW;
} else if (!strcasecmp(argv[x], "asap")) {
command = SCSC_SHUTDOWN_ASAP;
} else if (!strcasecmp(argv[x], "restart")) {
Modified: freeswitch/trunk/src/switch_core.c (16219 => 16220)
--- freeswitch/trunk/src/switch_core.c 2010-01-08 21:43:43 UTC (rev 16219)
+++ freeswitch/trunk/src/switch_core.c 2010-01-08 22:10:03 UTC (rev 16220)
@@ -1610,6 +1610,9 @@
case SCSC_CANCEL_SHUTDOWN:
switch_clear_flag((&runtime), SCF_SHUTDOWN_REQUESTED);
break;
+ case SCSC_SHUTDOWN_NOW:
+ exit(0);
+ break;
case SCSC_SHUTDOWN_ELEGANT:
case SCSC_SHUTDOWN_ASAP:
{