From 3ea15741106706f0a913e4660f7047c1f871f511 Mon Sep 17 00:00:00 2001 From: russell Date: Wed, 2 Jun 2010 18:53:38 +0000 Subject: Add a CLI command that blocks until Asterisk has fully booted. Review: https://reviewboard.asterisk.org/r/684/ git-svn-id: http://svn.digium.com/svn/asterisk/trunk@267138 f38db490-d61c-443f-a65b-d21fe96a405b --- main/cli.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'main') diff --git a/main/cli.c b/main/cli.c index 355cad5b8..0b58c3461 100644 --- a/main/cli.c +++ b/main/cli.c @@ -1557,6 +1557,28 @@ static char *group_show_channels(struct ast_cli_entry *e, int cmd, struct ast_cl #undef FORMAT_STRING } +static char *handle_cli_wait_fullybooted(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a) +{ + switch (cmd) { + case CLI_INIT: + e->command = "core waitfullybooted"; + e->usage = + "Usage: core waitfullybooted\n" + " Wait until Asterisk has fully booted.\n"; + return NULL; + case CLI_GENERATE: + return NULL; + } + + while (!ast_test_flag(&ast_options, AST_OPT_FLAG_FULLY_BOOTED)) { + usleep(100); + } + + ast_cli(a->fd, "Asterisk has fully booted.\n"); + + return CLI_SUCCESS; +} + static char *handle_help(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a); static struct ast_cli_entry cli_cli[] = { @@ -1600,6 +1622,8 @@ static struct ast_cli_entry cli_cli[] = { AST_CLI_DEFINE(handle_cli_show_permissions, "Show CLI permissions"), AST_CLI_DEFINE(handle_cli_check_permissions, "Try a permissions config for a user"), + + AST_CLI_DEFINE(handle_cli_wait_fullybooted, "Wait for Asterisk to be fully booted"), }; /*! -- cgit v1.2.3