aboutsummaryrefslogtreecommitdiffstats
path: root/logger.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-07-05 20:31:34 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-07-05 20:31:34 +0000
commit153108fec062417c95deffcc8b8f4976643bbcb0 (patch)
tree29c7b3d5431c667372499ca7abcb5b32792e8c1e /logger.c
parentd38807784af142b6b014bb40084d5c06505fd497 (diff)
ensure that filesize-triggered reloads don't recurse (bug #4621, with mods)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6031 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'logger.c')
-rwxr-xr-xlogger.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/logger.c b/logger.c
index c498d0db2..403316183 100755
--- a/logger.c
+++ b/logger.c
@@ -64,7 +64,7 @@ static char dateformat[256] = "%b %e %T"; /* Original Asterisk Format */
AST_MUTEX_DEFINE_STATIC(msglist_lock);
AST_MUTEX_DEFINE_STATIC(loglock);
-static int pending_logger_reload = 0;
+static int filesize_reload_needed = 0;
static int global_logmask = -1;
static struct {
@@ -439,6 +439,8 @@ int reload_logger(int rotate)
ast_mutex_unlock(&loglock);
+ filesize_reload_needed = 0;
+
queue_log_init();
init_logger_chain();
@@ -451,7 +453,6 @@ int reload_logger(int rotate)
} else
ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno));
}
- pending_logger_reload = 0;
return -1;
}
@@ -549,7 +550,7 @@ static struct ast_cli_entry rotate_logger_cli =
static int handle_SIGXFSZ(int sig)
{
/* Indicate need to reload */
- pending_logger_reload = 1;
+ filesize_reload_needed = 1;
return 0;
}
@@ -780,7 +781,7 @@ void ast_log(int level, const char *file, int line, const char *function, const
ast_mutex_unlock(&loglock);
/* end critical section */
- if (pending_logger_reload) {
+ if (filesize_reload_needed) {
reload_logger(1);
ast_log(LOG_EVENT,"Rotated Logs Per SIGXFSZ (Exceeded file size limit)\n");
if (option_verbose)