[asterisk-commits] alecdavis: branch 1.8 r334616 - /branches/1.8/main/pbx.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Wed Sep 7 02:33:43 CDT 2011


Author: alecdavis
Date: Wed Sep  7 02:33:39 2011
New Revision: 334616

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=334616
Log:
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/

Modified:
    branches/1.8/main/pbx.c

Modified: branches/1.8/main/pbx.c
URL: http://svnview.digium.com/svn/asterisk/branches/1.8/main/pbx.c?view=diff&rev=334616&r1=334615&r2=334616
==============================================================================
--- branches/1.8/main/pbx.c (original)
+++ branches/1.8/main/pbx.c Wed Sep  7 02:33:39 2011
@@ -5191,6 +5191,11 @@
 		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;
 
@@ -5207,6 +5212,11 @@
 enum ast_pbx_result ast_pbx_run_args(struct ast_channel *c, struct ast_pbx_args *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;




More information about the asterisk-commits mailing list