]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 334617 via svnmerge from
authorAlec L Davis <sivad.a@paradise.net.nz>
Wed, 7 Sep 2011 07:48:25 +0000 (07:48 +0000)
committerAlec L Davis <sivad.a@paradise.net.nz>
Wed, 7 Sep 2011 07:48:25 +0000 (07:48 +0000)
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r334617 | alecdavis | 2011-09-07 19:45:00 +1200 (Wed, 07 Sep 2011) | 17 lines

  Merged revisions 334616 via svnmerge from
  https://origsvn.digium.com/svn/asterisk/branches/1.8

  ........
    r334616 | alecdavis | 2011-09-07 19:33:39 +1200 (Wed, 07 Sep 2011) | 10 lines

    Prevent segfault if call arrives before Asterisk is fully booted.

    Prevent ast_pbx_start and ast_run_start from starting a new thread unless asterisk
    is fully booted.

    alecdavis (license 585)
    Tested by: alecdavis

    Review: https://reviewboard.asterisk.org/r/1407/
  ........
................

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

main/pbx.c

index 8204cb5004eff2fc5bc6630613e403d0d0037231..71408519546749b62326036e2b25b9b11fe4a0de 100644 (file)
@@ -5358,6 +5358,11 @@ enum ast_pbx_result ast_pbx_start(struct ast_channel *c)
                return AST_PBX_FAILED;
        }
 
+       if (!ast_test_flag(&ast_options, AST_OPT_FLAG_FULLY_BOOTED)) {
+               ast_log(LOG_WARNING, "PBX requires Asterisk to be fully booted\n");
+               return AST_PBX_FAILED;
+       }
+
        if (increase_call_count(c))
                return AST_PBX_CALL_LIMIT;
 
@@ -5375,6 +5380,11 @@ enum ast_pbx_result ast_pbx_run_args(struct ast_channel *c, struct ast_pbx_args
 {
        enum ast_pbx_result res = AST_PBX_SUCCESS;
 
+       if (!ast_test_flag(&ast_options, AST_OPT_FLAG_FULLY_BOOTED)) {
+               ast_log(LOG_WARNING, "PBX requires Asterisk to be fully booted\n");
+               return AST_PBX_FAILED;
+       }
+
        if (increase_call_count(c)) {
                return AST_PBX_CALL_LIMIT;
        }