]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 288340 via svnmerge from
authorRussell Bryant <russell@russellbryant.com>
Wed, 22 Sep 2010 16:45:18 +0000 (16:45 +0000)
committerRussell Bryant <russell@russellbryant.com>
Wed, 22 Sep 2010 16:45:18 +0000 (16:45 +0000)
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r288340 | russell | 2010-09-22 11:44:13 -0500 (Wed, 22 Sep 2010) | 18 lines

  Merged revisions 288339 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.4

  ........
    r288339 | russell | 2010-09-22 11:39:16 -0500 (Wed, 22 Sep 2010) | 11 lines

    Fix a 100% CPU consumption problem when setting console=yes in asterisk.conf.

    The handling of -c and console=yes should be the same, but they were not.
    When you specify -c, it sets both a flag for console module and for asterisk
    not to fork() off into the background.  The handling of console=yes only set
    console mode, so you would end up with a background process() trying to run
    the Asterisk console and freaking out since it didn't have anything to read
    input from.

    Thanks to beagles for reporting and helping debug the problem!
  ........
................

git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@288341 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/asterisk.c

index c484f3be7fdada1c45c9a8de5b20064445198070..364bdf7e3a96de1f6ef5f5bfebb3df4bb6e7fa7b 100644 (file)
@@ -2943,7 +2943,7 @@ static void ast_readconfig(void)
                        ast_set2_flag(&ast_options, ast_true(v->value), AST_OPT_FLAG_QUIET);
                /* Run as console (-c at startup, implies nofork) */
                } else if (!strcasecmp(v->name, "console")) {
-                       ast_set2_flag(&ast_options, ast_true(v->value), AST_OPT_FLAG_CONSOLE);
+                       ast_set2_flag(&ast_options, ast_true(v->value), AST_OPT_FLAG_NO_FORK | AST_OPT_FLAG_CONSOLE);
                /* Run with high priority if the O/S permits (-p at startup) */
                } else if (!strcasecmp(v->name, "highpriority")) {
                        ast_set2_flag(&ast_options, ast_true(v->value), AST_OPT_FLAG_HIGH_PRIORITY);