diff options
author | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-11-12 17:29:52 +0000 |
---|---|---|
committer | russell <russell@f38db490-d61c-443f-a65b-d21fe96a405b> | 2008-11-12 17:29:52 +0000 |
commit | 304f7ecb1f83167bb9507384be24303f9f3ddfd0 (patch) | |
tree | c8471072f46167ad39f5fb83f7b78c8ba1b35c0c | |
parent | e72a7be2b75d07281a181e83e36c651a40511ad0 (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.c | 14 |
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)); |