[asterisk-commits] rmudgett: branch 11 r430009 - in /branches/11: include/asterisk/ main/
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Dec 22 13:39:06 CST 2014
Author: rmudgett
Date: Mon Dec 22 13:38:58 2014
New Revision: 430009
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=430009
Log:
queue_log: Post QUEUESTART entry when Asterisk fully boots.
The QUEUESTART log entry has historically acted like a fully booted event
for the queue_log file. When the QUEUESTART entry was posted to the log
was broken by the change made by ASTERISK-15863.
* Made post the QUEUESTART queue_log entry when Asterisk fully boots.
This restores the intent of that log entry and happens after realtime has
had a chance to load.
AST-1444 #close
Reported by: Denis Martinez
Review: https://reviewboard.asterisk.org/r/4282/
Modified:
branches/11/include/asterisk/_private.h
branches/11/main/asterisk.c
branches/11/main/logger.c
Modified: branches/11/include/asterisk/_private.h
URL: http://svnview.digium.com/svn/asterisk/branches/11/include/asterisk/_private.h?view=diff&rev=430009&r1=430008&r2=430009
==============================================================================
--- branches/11/include/asterisk/_private.h (original)
+++ branches/11/include/asterisk/_private.h Mon Dec 22 13:38:58 2014
@@ -19,6 +19,7 @@
int load_pbx(void); /*!< Provided by pbx.c */
int init_logger(void); /*!< Provided by logger.c */
void close_logger(void); /*!< Provided by logger.c */
+void logger_queue_start(void); /*!< Provided by logger.c */
void clean_time_zones(void); /*!< Provided by localtime.c */
int init_framer(void); /*!< Provided by frame.c */
int ast_term_init(void); /*!< Provided by term.c */
Modified: branches/11/main/asterisk.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/main/asterisk.c?view=diff&rev=430009&r1=430008&r2=430009
==============================================================================
--- branches/11/main/asterisk.c (original)
+++ branches/11/main/asterisk.c Mon Dec 22 13:38:58 2014
@@ -4380,6 +4380,8 @@
run_startup_commands();
+ logger_queue_start();
+
if (ast_opt_console) {
/* Console stuff now... */
/* Register our quit function */
Modified: branches/11/main/logger.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/main/logger.c?view=diff&rev=430009&r1=430008&r2=430009
==============================================================================
--- branches/11/main/logger.c (original)
+++ branches/11/main/logger.c Mon Dec 22 13:38:58 2014
@@ -235,8 +235,6 @@
AST_THREADSTORAGE(log_buf);
#define LOG_BUF_INIT_SIZE 256
-static void logger_queue_init(void);
-
static void make_components(struct logchannel *chan)
{
char *w;
@@ -548,20 +546,8 @@
return;
}
if (!queuelog_init) {
- AST_RWLIST_WRLOCK(&logchannels);
- if (!queuelog_init) {
- /*
- * We have delayed initializing the queue logging system so
- * preloaded realtime modules can get up. We must initialize
- * now since someone is trying to log something.
- */
- logger_queue_init();
- queuelog_init = 1;
- AST_RWLIST_UNLOCK(&logchannels);
- ast_queue_log("NONE", "NONE", "NONE", "QUEUESTART", "%s", "");
- } else {
- AST_RWLIST_UNLOCK(&logchannels);
- }
+ /* We must initialize now since someone is trying to log something. */
+ logger_queue_start();
}
if (ast_check_realtime("queue_log")) {
@@ -1265,6 +1251,30 @@
}
}
+/*!
+ * \brief Start the ast_queue_log() logger.
+ *
+ * \note Called when the system is fully booted after startup
+ * so preloaded realtime modules can get up.
+ *
+ * \return Nothing
+ */
+void logger_queue_start(void)
+{
+ /* Must not be called before the logger is initialized. */
+ ast_assert(logger_initialized);
+
+ AST_RWLIST_WRLOCK(&logchannels);
+ if (!queuelog_init) {
+ logger_queue_init();
+ queuelog_init = 1;
+ AST_RWLIST_UNLOCK(&logchannels);
+ ast_queue_log("NONE", "NONE", "NONE", "QUEUESTART", "%s", "");
+ } else {
+ AST_RWLIST_UNLOCK(&logchannels);
+ }
+}
+
int init_logger(void)
{
/* auto rotate if sig SIGXFSZ comes a-knockin */
More information about the asterisk-commits
mailing list