aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b>2008-07-14 17:10:21 +0000
committermvanbaak <mvanbaak@f38db490-d61c-443f-a65b-d21fe96a405b>2008-07-14 17:10:21 +0000
commit2a2254f5a29d43775e51dffd89bd30f6adb1e3b4 (patch)
tree6f54c3f92d9805b706b415c2e16d4a98e0080759
parentc603125f8cb76cad2596aa70d0ac7662b1fc8275 (diff)
notify the user that dnsmgr refresh wont work when dnsmgr is not enabled.
Previously this command would automagically appear and disappear. This was confusing. (closes issue #12796) Reported by: chappell Patches: dnsmgr_refresh_3.diff uploaded by chappell (license 8) Tested by: russell, chappell, mvanbaak git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@130735 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--main/dnsmgr.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/main/dnsmgr.c b/main/dnsmgr.c
index 5598523f8..deb5c73db 100644
--- a/main/dnsmgr.c
+++ b/main/dnsmgr.c
@@ -275,6 +275,11 @@ static int handle_cli_refresh(int fd, int argc, char *argv[])
.verbose = 1,
};
+ if(!enabled) {
+ ast_cli(fd, "DNS Manager is disabled.\n");
+ return 0;
+ }
+
if (argc > 3)
return RESULT_SHOWUSAGE;
@@ -342,6 +347,7 @@ int dnsmgr_init(void)
}
ast_cli_register(&cli_reload);
ast_cli_register(&cli_status);
+ ast_cli_register(&cli_refresh);
return do_reload(1);
}
@@ -394,7 +400,6 @@ static int do_reload(int loading)
if (ast_pthread_create_background(&refresh_thread, NULL, do_refresh, NULL) < 0) {
ast_log(LOG_ERROR, "Unable to start refresh thread.\n");
}
- ast_cli_register(&cli_refresh);
}
/* make a background refresh happen right away */
refresh_sched = ast_sched_add_variable(sched, 100, refresh_list, &master_refresh_info, 1);
@@ -408,7 +413,6 @@ static int do_reload(int loading)
pthread_kill(refresh_thread, SIGURG);
pthread_join(refresh_thread, NULL);
refresh_thread = AST_PTHREADT_NULL;
- ast_cli_unregister(&cli_refresh);
res = 0;
}
else