aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-11-12 17:29:52 +0000
committerrussell <russell@f38db490-d61c-443f-a65b-d21fe96a405b>2008-11-12 17:29:52 +0000
commit304f7ecb1f83167bb9507384be24303f9f3ddfd0 (patch)
treec8471072f46167ad39f5fb83f7b78c8ba1b35c0c
parente72a7be2b75d07281a181e83e36c651a40511ad0 (diff)
Move the sanity check that makes sure "always fork" is not set along with the
console option to be after the code that reads options from asterisk.conf. This resolves a situation where Asterisk can start taking up 100% when misconfigured. (Thanks to Bryce Porter (x86 on IRC) for letting me log in to his system to figure out what was causing the 100% CPU problem.) git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@156164 f38db490-d61c-443f-a65b-d21fe96a405b
-rw-r--r--main/asterisk.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/main/asterisk.c b/main/asterisk.c
index 941789b53..d0f6e487b 100644
--- a/main/asterisk.c
+++ b/main/asterisk.c
@@ -2790,11 +2790,6 @@ int main(int argc, char *argv[])
if (ast_opt_console && !option_verbose)
ast_verbose("[ Booting...\n");
- if (ast_opt_always_fork && (ast_opt_remote || ast_opt_console)) {
- ast_log(LOG_WARNING, "'alwaysfork' is not compatible with console or remote console mode; ignored\n");
- ast_clear_flag(&ast_options, AST_OPT_FLAG_ALWAYS_FORK);
- }
-
/* For remote connections, change the name of the remote connection.
* We do this for the benefit of init scripts (which need to know if/when
* the main asterisk process has died yet). */
@@ -2805,10 +2800,17 @@ int main(int argc, char *argv[])
}
}
- if (ast_opt_console && !option_verbose)
+ if (ast_opt_console && !option_verbose) {
ast_verbose("[ Reading Master Configuration ]\n");
+ }
+
ast_readconfig();
+ if (ast_opt_always_fork && (ast_opt_remote || ast_opt_console)) {
+ ast_log(LOG_WARNING, "'alwaysfork' is not compatible with console or remote console mode; ignored\n");
+ ast_clear_flag(&ast_options, AST_OPT_FLAG_ALWAYS_FORK);
+ }
+
if (ast_opt_dump_core) {
struct rlimit l;
memset(&l, 0, sizeof(l));