mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-24 04:56:50 +03:00
Finalise nslog layer properly in closedown
This commit is contained in:
parent
ec94d5f812
commit
8123e65351
@ -5841,6 +5841,9 @@ int main(int argc, char** argv)
|
||||
free(current_user_dir);
|
||||
FreeVec(current_user_faviconcache);
|
||||
|
||||
/* finalise logging */
|
||||
nslog_finalise();
|
||||
|
||||
#ifndef __amigaos4__
|
||||
/* OS3 low memory handler */
|
||||
ami_memory_fini(memhandler);
|
||||
|
@ -1225,6 +1225,10 @@ int main(int argc, char** argv)
|
||||
fclose(stderr);
|
||||
#endif
|
||||
NSLOG(netsurf, INFO, "exit_gem");
|
||||
|
||||
/* finalise logging */
|
||||
nslog_finalise();
|
||||
|
||||
exit_gem();
|
||||
|
||||
return 0;
|
||||
|
@ -1066,6 +1066,12 @@ int main(int argc, char** argv)
|
||||
|
||||
netsurf_exit();
|
||||
|
||||
/* finalise options */
|
||||
nsoption_finalise(nsoptions, nsoptions_default);
|
||||
|
||||
/* finalise logging */
|
||||
nslog_finalise();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -2215,6 +2215,9 @@ main(int argc, char** argv)
|
||||
/* finalise options */
|
||||
nsoption_finalise(nsoptions, nsoptions_default);
|
||||
|
||||
/* finalise logging */
|
||||
nslog_finalise();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1198,5 +1198,8 @@ int main(int argc, char** argv)
|
||||
/* finalise options */
|
||||
nsoption_finalise(nsoptions, nsoptions_default);
|
||||
|
||||
/* finalise logging */
|
||||
nslog_finalise();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -404,5 +404,8 @@ main(int argc, char **argv)
|
||||
/* finalise options */
|
||||
nsoption_finalise(nsoptions, nsoptions_default);
|
||||
|
||||
/* finalise logging */
|
||||
nslog_finalise();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -2557,5 +2557,8 @@ int main(int argc, char** argv)
|
||||
netsurf_exit();
|
||||
nsoption_finalise(nsoptions, nsoptions_default);
|
||||
|
||||
/* finalise logging */
|
||||
nslog_finalise();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -419,5 +419,8 @@ WinMain(HINSTANCE hInstance, HINSTANCE hLastInstance, LPSTR lpcli, int ncmd)
|
||||
/* finalise options */
|
||||
nsoption_finalise(nsoptions, nsoptions_default);
|
||||
|
||||
/* finalise logging */
|
||||
nslog_finalise();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
18
utils/log.c
18
utils/log.c
@ -137,8 +137,8 @@ nslog_set_filter(const char *filter)
|
||||
}
|
||||
|
||||
err = nslog_filter_set_active(filt, NULL);
|
||||
filt = nslog_filter_unref(filt);
|
||||
if (err != NSLOG_NO_ERROR) {
|
||||
nslog_filter_unref(filt);
|
||||
return NSERROR_NOSPACE;
|
||||
}
|
||||
|
||||
@ -287,3 +287,19 @@ nslog_set_filter_by_options()
|
||||
else
|
||||
return nslog_set_filter(nsoption_charp(log_filter));
|
||||
}
|
||||
|
||||
/* exported interface documented in utils/log.h */
|
||||
void
|
||||
nslog_finalise()
|
||||
{
|
||||
NSLOG(netsurf, INFO,
|
||||
"Finalising logging, please report any further messages");
|
||||
verbose_log = true;
|
||||
if (logfile != stderr) {
|
||||
fclose(logfile);
|
||||
logfile = stderr;
|
||||
}
|
||||
#ifdef WITH_NSLOG
|
||||
nslog_cleanup();
|
||||
#endif
|
||||
}
|
||||
|
@ -43,6 +43,15 @@ typedef bool(nslog_ensure_t)(FILE *fptr);
|
||||
*/
|
||||
extern nserror nslog_init(nslog_ensure_t *ensure, int *pargc, char **argv);
|
||||
|
||||
/**
|
||||
* Shut down the logging system.
|
||||
*
|
||||
* Shuts down the logging subsystem, resetting to verbose logging and output
|
||||
* to stderr. Note, if logging is done after calling this, it will be sent
|
||||
* to stderr without filtering.
|
||||
*/
|
||||
extern void nslog_finalise(void);
|
||||
|
||||
/**
|
||||
* Set the logging filter.
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user