Indicate the need to reload without actually reloading...

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@2582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2004-03-30 16:16:05 +00:00
parent 3e9c337946
commit 722babe8d1

View File

@@ -49,6 +49,7 @@ static int syslog_level_map[] = {
static ast_mutex_t msglist_lock = AST_MUTEX_INITIALIZER; static ast_mutex_t msglist_lock = AST_MUTEX_INITIALIZER;
static ast_mutex_t loglock = AST_MUTEX_INITIALIZER; static ast_mutex_t loglock = AST_MUTEX_INITIALIZER;
static int pending_logger_reload = 0;
static struct msglist { static struct msglist {
char *msg; char *msg;
@@ -265,7 +266,6 @@ int reload_logger(int rotate)
FILE *myf; FILE *myf;
int x; int x;
ast_mutex_lock(&loglock); ast_mutex_lock(&loglock);
if (eventlog) if (eventlog)
fclose(eventlog); fclose(eventlog);
@@ -334,6 +334,7 @@ int reload_logger(int rotate)
} else } else
ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno)); ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno));
init_logger_chain(); init_logger_chain();
pending_logger_reload = 0;
return -1; return -1;
} }
@@ -384,10 +385,8 @@ static struct ast_cli_entry rotate_logger_cli =
logger_rotate_help }; logger_rotate_help };
static int handle_SIGXFSZ(int sig) { static int handle_SIGXFSZ(int sig) {
reload_logger(1); /* Indicate need to reload */
ast_log(LOG_EVENT,"Rotated Logs Per SIGXFSZ\n"); pending_logger_reload = 1;
if (option_verbose)
ast_verbose("Rotated Logs Per SIGXFSZ\n");
return 0; return 0;
} }
@@ -535,6 +534,12 @@ void ast_log(int level, const char *file, int line, const char *function, const
ast_mutex_unlock(&loglock); ast_mutex_unlock(&loglock);
/* end critical section */ /* end critical section */
if (pending_logger_reload) {
reload_logger(1);
ast_log(LOG_EVENT,"Rotated Logs Per SIGXFSZ\n");
if (option_verbose)
ast_verbose("Rotated Logs Per SIGXFSZ\n");
}
} }
extern void ast_verbose(const char *fmt, ...) extern void ast_verbose(const char *fmt, ...)