From 73c286a393e359598073293d31eb9c4f07704af0 Mon Sep 17 00:00:00 2001 From: George Joseph Date: Thu, 9 Apr 2015 22:31:58 +0000 Subject: loader/main: Don't set ast_fully_booted until deferred reloads are processed Until we have a true module management facility it's sometimes necessary for one module to force a reload on another before its own load is complete. If Asterisk isn't fully booted yet, these reloads are deferred. The problem is that asterisk reports fully booted before processing the deferred reloads which means Asterisk really isn't quite ready when it says it is. This patch moves the report of fully booted after the processing of the deferred reloads is complete. Since the pjsip stack has the most number of related modules, I ran the channels/pjsip testsuite to make sure there aren't any issues. All tests passed. Tested-by: George Joseph Review: https://reviewboard.asterisk.org/r/4604/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/13@434544 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- main/asterisk.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'main/asterisk.c') diff --git a/main/asterisk.c b/main/asterisk.c index 082935d22..aa9d1f6b7 100644 --- a/main/asterisk.c +++ b/main/asterisk.c @@ -4671,11 +4671,11 @@ int main(int argc, char *argv[]) sig_alert_pipe[0] = sig_alert_pipe[1] = -1; } + ast_process_pending_reloads(); + ast_set_flag(&ast_options, AST_OPT_FLAG_FULLY_BOOTED); publish_fully_booted(); - ast_process_pending_reloads(); - pthread_sigmask(SIG_UNBLOCK, &sigs, NULL); #if defined(__AST_DEBUG_MALLOC) -- cgit v1.2.3