diff --git a/src/switch_loadable_module.c b/src/switch_loadable_module.c index aaee2010d9..fccb0e2b78 100644 --- a/src/switch_loadable_module.c +++ b/src/switch_loadable_module.c @@ -1354,8 +1354,11 @@ SWITCH_DECLARE(switch_status_t) switch_api_execute(const char *cmd, const char * } } + if (cmd && (api = switch_loadable_module_get_api_interface(cmd)) != 0) { - status = api->function(arg, session, stream); + if ((status = api->function(arg, session, stream)) != SWITCH_STATUS_SUCCESS) { + stream->write_function(stream, "COMMAND RETURNED ERROR!\n"); + } } else { status = SWITCH_STATUS_FALSE; stream->write_function(stream, "INVALID COMMAND!\n"); diff --git a/src/switch_log.c b/src/switch_log.c index b3fa0f6b00..69f0ebf612 100644 --- a/src/switch_log.c +++ b/src/switch_log.c @@ -268,7 +268,7 @@ SWITCH_DECLARE(void) switch_log_printf(switch_text_channel_t channel, const char memset(&to, 0, sizeof(to)); FD_SET(fd, &can_write); to.tv_sec = 0; - to.tv_usec = 5000; + to.tv_usec = 100000; if (select(fd+1, NULL, &can_write, NULL, &to) > 0) { aok = FD_ISSET(fd, &can_write); } else { @@ -298,6 +298,8 @@ SWITCH_DECLARE(void) switch_log_printf(switch_text_channel_t channel, const char node->level = level; node->content = content; node->timestamp = now; + + if (switch_queue_trypush(LOG_QUEUE, node) != SWITCH_STATUS_SUCCESS) { free(node->data); if (switch_queue_trypush(LOG_RECYCLE_QUEUE, node) != SWITCH_STATUS_SUCCESS) {