summaryrefslogtreecommitdiffstats
path: root/lib/log.h
diff options
context:
space:
mode:
authorajs <ajs>2005-01-12 18:27:27 +0100
committerajs <ajs>2005-01-12 18:27:27 +0100
commit40abf2392ba9f14935dab556f43e674cb5c47cf3 (patch)
tree3c5ff5794940f408b411c5d0204e27dac1014378 /lib/log.h
parent2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu> (diff)
downloadfrr-40abf2392ba9f14935dab556f43e674cb5c47cf3.tar.xz
frr-40abf2392ba9f14935dab556f43e674cb5c47cf3.zip
2005-01-12 Andrew J. Schorr <ajschorr@alumni.princeton.edu>
* configure.ac: Test for header file <ucontext.h> (for use in signal processing). * sigevent.c: (trap_default_signals) Use the SA_SIGINFO flag to pass additional siginfo_t and ucontext_t arguments to core_handler and exit_handler. (core_handler,exit_handler) Now invoked with 3 arguments (using SA_SIGINFO). Pass additional info to zlog_signal. (program_counter) New function to find program counter in ucontext_t, needs to be enhanced to support more platforms (currently works only on Linux/x86). * log.h: Change the zlog_signal prototype to add new arguments siginfo_t * and program_counter. * log.c: (zlog_signal) Add new arguments siginfo and program_counter. Include si_addr and program counter (if non-NULL) in message. And remove #ifdef HAVE_GLIBC_BACKTRACE around hex_append, since that is now used to render the si_addr and PC pointers.
Diffstat (limited to 'lib/log.h')
-rw-r--r--lib/log.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/log.h b/lib/log.h
index 1f9f23cdc..b8288298d 100644
--- a/lib/log.h
+++ b/lib/log.h
@@ -1,5 +1,5 @@
/*
- * $Id: log.h,v 1.14 2004/12/07 15:39:32 ajs Exp $
+ * $Id: log.h,v 1.15 2005/01/12 17:27:27 ajs Exp $
*
* Zebra logging funcions.
* Copyright (C) 1997, 1998, 1999 Kunihiro Ishiguro
@@ -153,7 +153,8 @@ extern const char *zlog_proto_names[];
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);
+extern void zlog_signal(int signo, const char *action,
+ siginfo_t *siginfo, void *program_counter);
/* Log a backtrace. */
extern void zlog_backtrace(int priority);