Splitted open_logfiles(); into open_logfiles(); and close_logfiles();, use the second one on ircd_shutdown

This commit is contained in:
Valery Yatsko 2008-04-20 07:42:30 +04:00
parent fd5af3d072
commit ea82a3ca27
3 changed files with 22 additions and 9 deletions

View file

@ -55,6 +55,7 @@ struct Client;
extern void init_main_logfile(void);
extern void open_logfiles(void);
extern void close_logfiles(void);
extern void ilog(ilogfile dest, const char *fmt, ...) AFP(2, 3);
extern void inotice(const char *fmt, ...) AFP(1, 2);
extern void iwarn(const char *fmt, ...) AFP(1, 2);

View file

@ -164,6 +164,7 @@ ircd_shutdown(const char *reason)
}
ilog(L_MAIN, "Server Terminating. %s", reason);
close_logfiles();
unlink(pidFileName);
exit(0);

View file

@ -86,27 +86,38 @@ open_logfiles(void)
{
int i;
if(log_main != NULL)
fclose(log_main);
close_logfiles();
log_main = fopen(logFileName, "a");
/* log_main is handled above, so just do the rest */
for(i = 1; i < LAST_LOGFILE; i++)
{
/* close open logfiles */
if(*log_table[i].logfile != NULL)
{
fclose(*log_table[i].logfile);
*log_table[i].logfile = NULL;
}
/* reopen those with paths */
if(!EmptyString(*log_table[i].name))
*log_table[i].logfile = fopen(*log_table[i].name, "a");
}
}
void
close_logfiles(void)
{
int i;
if(log_main != NULL)
fclose(log_main);
/* log_main is handled above, so just do the rest */
for(i = 1; i < LAST_LOGFILE; i++)
{
if(*log_table[i].logfile != NULL)
{
fclose(*log_table[i].logfile);
*log_table[i].logfile = NULL;
}
}
}
void
ilog(ilogfile dest, const char *format, ...)
{