1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
#include <config.h>
#include "log.h"
const char *progname; /* for msyslog use too */
static int counter = 0;
static void cleanup_log(void);
void
sntp_init_logging(
const char *prog
)
{
msyslog_term = TRUE;
init_logging(prog, 0, FALSE);
msyslog_term_pid = FALSE;
msyslog_include_timestamp = FALSE;
}
void
open_logfile(
const char *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)
{
//counter--;
//if(counter <= 0){
if(counter == 1){
syslogit = TRUE;
fflush(syslog_file);
fclose(syslog_file);
syslog_file = NULL;
counter = 0;
}
}
|