diff --git a/src/include/switch_core.h b/src/include/switch_core.h index a97d2637ba..5d0c02926b 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -242,7 +242,7 @@ SWITCH_DECLARE(void) switch_core_port_allocator_destroy(switch_core_port_allocat \param err a pointer to set any errors to \note to be called at application startup */ -SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, const char **err); +SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, switch_bool_t console, const char **err); /*! \brief Initilize the core and load modules @@ -251,7 +251,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, const \param err a pointer to set any errors to \note to be called at application startup instead of switch_core_init. Includes module loading. */ -SWITCH_DECLARE(switch_status_t) switch_core_init_and_modload(switch_core_flag_t flags, const char **err); +SWITCH_DECLARE(switch_status_t) switch_core_init_and_modload(switch_core_flag_t flags, switch_bool_t console, const char **err); /*! \brief Set/Get Session Limit diff --git a/src/switch.c b/src/switch.c index 0c6f5565f2..854b923e30 100644 --- a/src/switch.c +++ b/src/switch.c @@ -180,7 +180,7 @@ void WINAPI service_main(DWORD numArgs, char **args) set_high_priority(); /* attempt to initialize freeswitch and load modules */ - if (switch_core_init_and_modload(flags, &err) != SWITCH_STATUS_SUCCESS) { + if (switch_core_init_and_modload(flags, SWITCH_FALSE, &err) != SWITCH_STATUS_SUCCESS) { /* freeswitch did not start sucessfully */ status.dwCurrentState = SERVICE_STOPPED; } else { @@ -416,7 +416,7 @@ int main(int argc, char *argv[]) } #endif - if (switch_core_init_and_modload(flags, &err) != SWITCH_STATUS_SUCCESS) { + if (switch_core_init_and_modload(flags, nc ? SWITCH_FALSE : SWITCH_TRUE, &err) != SWITCH_STATUS_SUCCESS) { fprintf(stderr, "Cannot Initilize [%s]\n", err); return 255; } diff --git a/src/switch_core.c b/src/switch_core.c index c7c3cfb519..f6d8824078 100644 --- a/src/switch_core.c +++ b/src/switch_core.c @@ -641,7 +641,7 @@ static void load_mime_types(void) } -SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, const char **err) +SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, switch_bool_t console, const char **err) { switch_xml_t xml = NULL, cfg = NULL; switch_uuid_t uuid; @@ -743,7 +743,9 @@ SWITCH_DECLARE(switch_status_t) switch_core_init(switch_core_flag_t flags, const *err = NULL; - runtime.console = stdout; + if (console) { + runtime.console = stdout; + } assert(runtime.memory_pool != NULL); switch_log_init(runtime.memory_pool); @@ -808,10 +810,10 @@ static void handle_SIGINT(int sig) if (sig); return; } -SWITCH_DECLARE(switch_status_t) switch_core_init_and_modload(switch_core_flag_t flags, const char **err) +SWITCH_DECLARE(switch_status_t) switch_core_init_and_modload(switch_core_flag_t flags, switch_bool_t console, const char **err) { switch_event_t *event; - if (switch_core_init(flags, err) != SWITCH_STATUS_SUCCESS) { + if (switch_core_init(flags, console, err) != SWITCH_STATUS_SUCCESS) { return SWITCH_STATUS_GENERR; } diff --git a/src/switch_log.c b/src/switch_log.c index 765b9b44e8..55c6ca074e 100644 --- a/src/switch_log.c +++ b/src/switch_log.c @@ -247,7 +247,9 @@ SWITCH_DECLARE(void) switch_log_printf(switch_text_channel_t channel, const char } } else { if (level == SWITCH_LOG_CONSOLE || !LOG_QUEUE || !THREAD_RUNNING) { - fprintf(handle, "%s", data); + if (handle) { + fprintf(handle, "%s", data); + } free(data); } else if (level <= MAX_LEVEL) { switch_log_node_t *node;