aboutsummaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-03-11 08:24:23 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-03-11 08:24:23 +0000
commit0f6dae2704ff6535fca3a7b6c5aad44b18dcdf3b (patch)
tree845f96ffaf630998826692d09898c6360b945ad6 /patches
parent5c5892ba2bfac23d1eabd207619f451773a3a505 (diff)
Add sample experimental patch to show "make apply", "make unapply", "make patchlist", and "make update" targets
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5166 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'patches')
-rwxr-xr-xpatches/.cvsignore2
-rwxr-xr-xpatches/queue_log176
2 files changed, 178 insertions, 0 deletions
diff --git a/patches/.cvsignore b/patches/.cvsignore
new file mode 100755
index 000000000..975f88573
--- /dev/null
+++ b/patches/.cvsignore
@@ -0,0 +1,2 @@
+.applied
+.tmpapplied
diff --git a/patches/queue_log b/patches/queue_log
new file mode 100755
index 000000000..e4a8d1320
--- /dev/null
+++ b/patches/queue_log
@@ -0,0 +1,176 @@
+Index: logger.c
+===================================================================
+RCS file: /usr/cvsroot/asterisk/logger.c,v
+retrieving revision 1.55
+diff -u -r1.55 logger.c
+--- logger.c 25 Jan 2005 06:10:19 -0000 1.55
++++ logger.c 9 Mar 2005 21:25:25 -0000
+@@ -61,6 +61,11 @@
+ static int pending_logger_reload = 0;
+ static int global_logmask = -1;
+
++static struct {
++ unsigned int queue_log:1;
++ unsigned int event_log:1;
++} logfiles = { 1, 1 };
++
+ static struct msglist {
+ char *msg;
+ struct msglist *next;
+@@ -288,6 +293,13 @@
+ strncpy(dateformat, s, sizeof(dateformat) - 1);
+ } else
+ strncpy(dateformat, "%b %e %T", sizeof(dateformat) - 1);
++ if ((s = ast_variable_retrieve(cfg, "general", "queue_log"))) {
++ logfiles.queue_log = ast_true(s);
++ }
++ if ((s = ast_variable_retrieve(cfg, "general", "event_log"))) {
++ logfiles.event_log = ast_true(s);
++ }
++
+ var = ast_variable_browse(cfg, "logfiles");
+ while(var) {
+ chan = make_logchannel(var->name, var->value, var->lineno);
+@@ -332,7 +344,9 @@
+ qlog = NULL;
+ }
+ snprintf(filename, sizeof(filename), "%s/%s", (char *)ast_config_AST_LOG_DIR, "queue_log");
+- qlog = fopen(filename, "a");
++ if (logfiles.queue_log) {
++ qlog = fopen(filename, "a");
++ }
+ ast_mutex_unlock(&qloglock);
+ if (reloaded)
+ ast_queue_log("NONE", "NONE", "NONE", "CONFIGRELOAD", "%s", "");
+@@ -360,22 +374,24 @@
+ mkdir((char *)ast_config_AST_LOG_DIR, 0755);
+ snprintf(old, sizeof(old), "%s/%s", (char *)ast_config_AST_LOG_DIR, EVENTLOG);
+
+- if(rotate) {
+- for(x=0;;x++) {
+- snprintf(new, sizeof(new), "%s/%s.%d", (char *)ast_config_AST_LOG_DIR, EVENTLOG,x);
+- myf = fopen((char *)new, "r");
+- if(myf)
+- fclose(myf);
+- else
+- break;
+- }
++ if (logfiles.event_log) {
++ if (rotate) {
++ for (x=0;;x++) {
++ snprintf(new, sizeof(new), "%s/%s.%d", (char *)ast_config_AST_LOG_DIR, EVENTLOG,x);
++ myf = fopen((char *)new, "r");
++ if (myf)
++ fclose(myf);
++ else
++ break;
++ }
+
+- /* do it */
+- if (rename(old,new))
+- fprintf(stderr, "Unable to rename file '%s' to '%s'\n", old, new);
+- }
++ /* do it */
++ if (rename(old,new))
++ fprintf(stderr, "Unable to rename file '%s' to '%s'\n", old, new);
++ }
+
+- eventlog = fopen(old, "a");
++ eventlog = fopen(old, "a");
++ }
+
+ f = logchannels;
+ while(f) {
+@@ -406,16 +422,17 @@
+ ast_mutex_unlock(&loglock);
+
+ queue_log_init();
+-
+- if (eventlog) {
+- init_logger_chain();
+- ast_log(LOG_EVENT, "Restarted Asterisk Event Logger\n");
+- if (option_verbose)
+- ast_verbose("Asterisk Event Logger restarted\n");
+- return 0;
+- } else
+- ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno));
+ init_logger_chain();
++
++ if (logfiles.event_log) {
++ if (eventlog) {
++ ast_log(LOG_EVENT, "Restarted Asterisk Event Logger\n");
++ if (option_verbose)
++ ast_verbose("Asterisk Event Logger restarted\n");
++ return 0;
++ } else
++ ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno));
++ }
+ pending_logger_reload = 0;
+ return -1;
+ }
+@@ -487,21 +504,23 @@
+ /* initialize queue logger */
+ queue_log_init();
+
+- /* create the eventlog */
+- mkdir((char *)ast_config_AST_LOG_DIR, 0755);
+- snprintf(tmp, sizeof(tmp), "%s/%s", (char *)ast_config_AST_LOG_DIR, EVENTLOG);
+- eventlog = fopen((char *)tmp, "a");
+- if (eventlog) {
+- init_logger_chain();
+- ast_log(LOG_EVENT, "Started Asterisk Event Logger\n");
+- if (option_verbose)
+- ast_verbose("Asterisk Event Logger Started %s\n",(char *)tmp);
+- return 0;
+- } else
+- ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno));
+-
+ /* create log channels */
+ init_logger_chain();
++
++ /* create the eventlog */
++ if (logfiles.event_log) {
++ mkdir((char *)ast_config_AST_LOG_DIR, 0755);
++ snprintf(tmp, sizeof(tmp), "%s/%s", (char *)ast_config_AST_LOG_DIR, EVENTLOG);
++ eventlog = fopen((char *)tmp, "a");
++ if (eventlog) {
++ ast_log(LOG_EVENT, "Started Asterisk Event Logger\n");
++ if (option_verbose)
++ ast_verbose("Asterisk Event Logger Started %s\n",(char *)tmp);
++ return 0;
++ } else
++ ast_log(LOG_ERROR, "Unable to create event log: %s\n", strerror(errno));
++ }
++
+ return -1;
+ }
+
+@@ -572,7 +591,7 @@
+ localtime_r(&t, &tm);
+ strftime(date, sizeof(date), dateformat, &tm);
+
+- if (level == __LOG_EVENT) {
++ if (logfiles.event_log && level == __LOG_EVENT) {
+ va_start(ap, fmt);
+
+ fprintf(eventlog, "%s asterisk[%d]: ", date, getpid());
+Index: configs/logger.conf.sample
+===================================================================
+RCS file: /usr/cvsroot/asterisk/configs/logger.conf.sample,v
+retrieving revision 1.9
+diff -u -r1.9 logger.conf.sample
+--- configs/logger.conf.sample 5 Sep 2004 03:48:05 -0000 1.9
++++ configs/logger.conf.sample 9 Mar 2005 21:25:25 -0000
+@@ -13,6 +13,12 @@
+ ; This appends the hostname to the name of the log files.
+ ;appendhostname = yes
+ ;
++; This determines whether or not we log queue events to a file (defaults to yes).
++;queue_log = no
++;
++; This determines whether or not we log generic events to a file (defaults to yes).
++;event_log = no
++;
+ ;
+ ; For each file, specify what to log.
+ ;