]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
Merged revisions 334616 via svnmerge from
authorAlec L Davis <sivad.a@paradise.net.nz>
Wed, 7 Sep 2011 07:45:00 +0000 (07:45 +0000)
committerAlec L Davis <sivad.a@paradise.net.nz>
Wed, 7 Sep 2011 07:45:00 +0000 (07:45 +0000)
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/branches/10@334617 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/pbx.c

index 17897ade7fb764c3c622c0199489ca8aa7f49b6f..716c306cf9aa686a1aa7237147a2f521a427e10f 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;
        }