From ef7c762d03632698dfbaa56f9e20f42d24af2c9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Tue, 24 Mar 1998 20:38:35 -0800 Subject: [PATCH] attempt to make fatal() write normal backtraces whenever possible... Rev: src/error.c:1.13 --- src/error.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/error.c b/src/error.c index c2474a3185..c3a5550c2b 100644 --- a/src/error.c +++ b/src/error.c @@ -11,6 +11,8 @@ #include "builtin_functions.h" #include "array.h" #include "object.h" +#include "main.h" +#include "builtin_functions.h" #undef ATTRIBUTE #define ATTRIBUTE(X) @@ -161,7 +163,17 @@ void debug_fatal(char *fmt, ...) ATTRIBUTE((noreturn,format (printf, 1, 2))) #endif (void)VFPRINTF(stderr, fmt, args); - /* Insert dump routine call here */ + + fprintf(stderr,"Attempting to dump backlog (may fail).\n"); + + d_flag=t_flag=0; + push_text("Fatal error"); + f_backtrace(0); + f_aggregate(2); + APPLY_MASTER("describe_backtrace",1); + if(sp[-1].type==T_STRING) + write_to_stderr(sp[-1].u.string->str, sp[-1].u.string->len); + fflush(stderr); abort(); } -- GitLab