aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2010-06-02 18:53:38 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2010-06-02 18:53:38 +0000
commit3ea15741106706f0a913e4660f7047c1f871f511 (patch)
treefc65fcdcbf9d2480eef853df0e8269fd3d9a94bd /main
parent9819f40684ac430b36a7b014eff1fa665083e419 (diff)
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
Diffstat (limited to 'main')
-rw-r--r--main/cli.c24
1 files changed, 24 insertions, 0 deletions
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"),
};
/*!