mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-03 04:16:43 +00:00
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:
15
logger.c
15
logger.c
@@ -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, ...)
|
||||||
|
|||||||
Reference in New Issue
Block a user