]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
FS-3372 --resolve
authorAnthony Minessale <anthm@freeswitch.org>
Mon, 27 Jun 2011 15:09:15 +0000 (10:09 -0500)
committerAnthony Minessale <anthm@freeswitch.org>
Mon, 27 Jun 2011 15:09:15 +0000 (10:09 -0500)
src/include/switch_types.h
src/mod/applications/mod_commands/mod_commands.c
src/switch_core.c

index e84fb1082aa049e03716a5ae6c49642a526fa22b..f4e589af2aea3dc5e14129252d82c9affe89e489 100644 (file)
@@ -1621,7 +1621,9 @@ typedef enum {
        SCSC_CRASH,
        SCSC_MIN_IDLE_CPU,
        SCSC_VERBOSE_EVENTS,
-       SCSC_SHUTDOWN_CHECK
+       SCSC_SHUTDOWN_CHECK,
+       SCSC_PAUSE_CHECK,
+       SCSC_READY_CHECK
 } switch_session_ctl_t;
 
 typedef enum {
index 40fe306d68494e91aee04ae4f74f9425c0fdee5e..31d45d28813ddff44302f6c8516e62b7fad392f5 100644 (file)
@@ -1754,6 +1754,7 @@ SWITCH_STANDARD_API(status_function)
                                                   duration.sec, duration.sec == 1 ? "" : "s", duration.ms, duration.ms == 1 ? "" : "s", duration.mms,
                                                   duration.mms == 1 ? "" : "s");
 
+       stream->write_function(stream, "FreeSWITCH is %s\n", switch_core_ready() ? "ready" : "not ready");
        stream->write_function(stream, "%" SWITCH_SIZE_T_FMT " session(s) since startup\n", switch_core_session_id() - 1);
        switch_core_session_ctl(SCSC_LAST_SPS, &last_sps);
        switch_core_session_ctl(SCSC_SPS, &sps);
@@ -1833,6 +1834,12 @@ SWITCH_STANDARD_API(ctl_function)
                } else if (!strcasecmp(argv[0], "save_history")) {
                        switch_core_session_ctl(SCSC_SAVE_HISTORY, NULL);
                        stream->write_function(stream, "+OK\n");
+               } else if (!strcasecmp(argv[0], "pause_check")) {
+                       switch_core_session_ctl(SCSC_PAUSE_CHECK, &arg);
+                       stream->write_function(stream, arg ? "true" : "false");
+               } else if (!strcasecmp(argv[0], "ready_check")) {
+                       switch_core_session_ctl(SCSC_READY_CHECK, &arg);
+                       stream->write_function(stream, arg ? "true" : "false");
                } else if (!strcasecmp(argv[0], "shutdown_check")) {
                        switch_core_session_ctl(SCSC_SHUTDOWN_CHECK, &arg);
                        stream->write_function(stream, arg ? "true" : "false");
@@ -5319,6 +5326,8 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_commands_load)
        switch_console_set_complete("add fsctl crash");
        switch_console_set_complete("add fsctl verbose_events");
        switch_console_set_complete("add fsctl save_history");
+       switch_console_set_complete("add fsctl pause_check");
+       switch_console_set_complete("add fsctl ready_check");
        switch_console_set_complete("add fsctl shutdown_check");
        switch_console_set_complete("add fsctl shutdown");
        switch_console_set_complete("add fsctl shutdown asap");
index a770d8cf93dbe60c2066a8bf517bbf12f66949a4..721d53cfef8617a3157e8b8ad7c7c82e4ee4063d 100644 (file)
@@ -2031,6 +2031,12 @@ SWITCH_DECLARE(int32_t) switch_core_session_ctl(switch_session_ctl_t cmd, void *
                        }
                }
                break;
+       case SCSC_PAUSE_CHECK:
+               newintval = !!switch_test_flag((&runtime), SCF_NO_NEW_SESSIONS);
+               break;
+       case SCSC_READY_CHECK:
+               newintval = switch_core_ready();
+               break;
        case SCSC_SHUTDOWN_CHECK:
                newintval = !!switch_test_flag((&runtime), SCF_SHUTDOWN_REQUESTED);
                break;