1290001Sglebius#include <config.h> 2290001Sglebius 3290001Sglebius#include "log.h" 4290001Sglebius 5290001Sglebiusconst char *progname; /* for msyslog use too */ 6290001Sglebius 7290001Sglebiusstatic int counter = 0; 8290001Sglebius 9290001Sglebiusstatic void cleanup_log(void); 10290001Sglebius 11290001Sglebiusvoid 12290001Sglebiussntp_init_logging( 13290001Sglebius const char *prog 14290001Sglebius ) 15290001Sglebius{ 16290001Sglebius 17290001Sglebius msyslog_term = TRUE; 18290001Sglebius init_logging(prog, 0, FALSE); 19290001Sglebius msyslog_term_pid = FALSE; 20290001Sglebius msyslog_include_timestamp = FALSE; 21290001Sglebius} 22290001Sglebius 23290001Sglebius 24290001Sglebiusvoid 25290001Sglebiusopen_logfile( 26290001Sglebius const char *logfile 27290001Sglebius ) 28290001Sglebius{ 29290001Sglebius change_logfile(logfile, FALSE); 30290001Sglebius counter = 1; //counter++; 31290001Sglebius atexit(cleanup_log); 32290001Sglebius} 33290001Sglebius 34290001Sglebius//not sure about this. Are the atexit() functions called by FIFO or LIFO order? The end result is PROBABLY the same 35290001Sglebiusstatic void 36290001Sglebiuscleanup_log(void) 37290001Sglebius{ 38290001Sglebius //counter--; 39290001Sglebius //if(counter <= 0){ 40290001Sglebius if(counter == 1){ 41290001Sglebius syslogit = TRUE; 42290001Sglebius fflush(syslog_file); 43290001Sglebius fclose(syslog_file); 44290001Sglebius syslog_file = NULL; 45290001Sglebius counter = 0; 46290001Sglebius } 47290001Sglebius} 48