diff options
Diffstat (limited to 'contrib/ntp/sntp/log.c')
-rw-r--r-- | contrib/ntp/sntp/log.c | 21 |
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; + } } |