From 937c85d41b340152e548ba72c8f32fb8c62e3872 Mon Sep 17 00:00:00 2001 From: ajs Date: Fri, 26 Nov 2004 18:11:14 +0000 Subject: 2004-11-26 Andrew J. Schorr * log.c: (zlog_backtrace) New function to log a backtrace. (zlog_backtrace_safe) Log a backtrace in an async-signal-safe way. Unfortunately, this function does not support syslog logging yet. (zlog_signal) Move backtrace code into separate function zlog_backtrace_safe. (_zlog_assert_failed) Call zlog_backtrace before aborting. * log.h: Declare new functions zlog_backtrace and zlog_backtrace_safe. * memory.c: (zerror) Call zlog_backtrace before aborting. --- lib/log.h | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'lib/log.h') diff --git a/lib/log.h b/lib/log.h index 1fd4fe0c..0df75e73 100644 --- a/lib/log.h +++ b/lib/log.h @@ -125,4 +125,13 @@ extern const char *safe_strerror(int errnum); /* To be called when a fatal signal is caught. */ extern void zlog_signal(int signo, const char *action); +/* Log a backtrace. */ +extern void zlog_backtrace(int priority); + +/* Log a backtrace, but in an async-signal-safe way. Should not be + called unless the program is about to exit or abort, since it messes + up the state of zlog file pointers. This function needs to be enhanced + to support syslog logging. */ +extern void zlog_backtrace_safe(int priority); + #endif /* _ZEBRA_LOG_H */ -- cgit v1.2.3