The logger closes the files it is logging to when reloading so we have to read in the logger configuration even if it has not changed so that the logs get opened again.

(closes issue #12665)
Reported by: DennisD


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@117085 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Joshua Colp
2008-05-19 16:03:33 +00:00
parent 775542f753
commit 83e37eaf1c

View File

@@ -317,15 +317,15 @@ static struct logchannel *make_logchannel(const char *channel, const char *compo
return chan; return chan;
} }
static void init_logger_chain(int reload, int locked) static void init_logger_chain(int locked)
{ {
struct logchannel *chan; struct logchannel *chan;
struct ast_config *cfg; struct ast_config *cfg;
struct ast_variable *var; struct ast_variable *var;
const char *s; const char *s;
struct ast_flags config_flags = { reload ? CONFIG_FLAG_FILEUNCHANGED : 0 }; struct ast_flags config_flags = { 0 };
if ((cfg = ast_config_load2("logger.conf", "logger", config_flags)) == CONFIG_STATUS_FILEUNCHANGED) if (!(cfg = ast_config_load2("logger.conf", "logger", config_flags)))
return; return;
/* delete our list of log channels */ /* delete our list of log channels */
@@ -641,7 +641,7 @@ static int reload_logger(int rotate)
filesize_reload_needed = 0; filesize_reload_needed = 0;
init_logger_chain(rotate ? 0 : 1 /* reload */, 1 /* locked */); init_logger_chain(1 /* locked */);
if (logfiles.event_log) { if (logfiles.event_log) {
snprintf(old, sizeof(old), "%s/%s", ast_config_AST_LOG_DIR, EVENTLOG); snprintf(old, sizeof(old), "%s/%s", ast_config_AST_LOG_DIR, EVENTLOG);
@@ -976,7 +976,7 @@ int init_logger(void)
ast_mkdir(ast_config_AST_LOG_DIR, 0777); ast_mkdir(ast_config_AST_LOG_DIR, 0777);
/* create log channels */ /* create log channels */
init_logger_chain(0 /* reload */, 0 /* locked */); init_logger_chain(0 /* locked */);
/* create the eventlog */ /* create the eventlog */
if (logfiles.event_log) { if (logfiles.event_log) {