(Allocator failures can lead to some nasty recursive logging attempts.)
unsigned int log_count;
unsigned int max_age;
unsigned int max_count;
+ unsigned int depth;
unsigned int default_set : 1;
};
if (!type)
return;
+ if (type->depth)
+ return;
+ ++type->depth;
if (sev > LOG_FATAL) {
log_module(MAIN_LOG, LOG_ERROR, "Illegal log_module severity %d", sev);
return;
/* Special behavior before we start full operation */
fprintf(stderr, "%s: %s\n", log_severity_names[sev], msgbuf);
}
+ --type->depth;
if (sev == LOG_FATAL) {
assert(0 && "fatal message logged");
_exit(1);