summaryrefslogtreecommitdiffstats
path: root/contrib/ntp/sntp/log.c
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ntp/sntp/log.c')
-rw-r--r--contrib/ntp/sntp/log.c21
1 files changed, 15 insertions, 6 deletions
diff --git a/contrib/ntp/sntp/log.c b/contrib/ntp/sntp/log.c
index d703495..db6614d 100644
--- a/contrib/ntp/sntp/log.c
+++ b/contrib/ntp/sntp/log.c
@@ -2,7 +2,9 @@
#include "log.h"
-char *progname; /* for msyslog use too */
+const char *progname; /* for msyslog use too */
+
+static int counter = 0;
static void cleanup_log(void);
@@ -11,6 +13,7 @@ sntp_init_logging(
const char *prog
)
{
+
msyslog_term = TRUE;
init_logging(prog, 0, FALSE);
msyslog_term_pid = FALSE;
@@ -24,15 +27,21 @@ open_logfile(
)
{
change_logfile(logfile, FALSE);
+ counter = 1; //counter++;
atexit(cleanup_log);
}
-
+//not sure about this. Are the atexit() functions called by FIFO or LIFO order? The end result is PROBABLY the same
static void
cleanup_log(void)
{
- syslogit = TRUE;
- fflush(syslog_file);
- fclose(syslog_file);
- syslog_file = NULL;
+ //counter--;
+ //if(counter <= 0){
+ if(counter == 1){
+ syslogit = TRUE;
+ fflush(syslog_file);
+ fclose(syslog_file);
+ syslog_file = NULL;
+ counter = 0;
+ }
}
OpenPOWER on IntegriCloud