diff options
Diffstat (limited to 'src/stdlib/abort_handler_s.c')
| -rw-r--r-- | src/stdlib/abort_handler_s.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/stdlib/abort_handler_s.c b/src/stdlib/abort_handler_s.c index 145c9e6d..4b1e3f03 100644 --- a/src/stdlib/abort_handler_s.c +++ b/src/stdlib/abort_handler_s.c @@ -4,15 +4,20 @@ //#include <errno.h> #include "errno/errno_t.h" #include "_stdlib.h" -#include "_safety.h" void abort_handler_s(const char * restrict msg, void * restrict ptr, errno_t error) { + SIGNAL_SAFE(0); + struct __constraint_info *ci = ptr; puts(msg); if (ci) { - printf("In call to %s()", ci->func); + if (ci->signal != 0) { + /* TODO: map numbers to names as well */ + printf("While handling signal %d: ", ci->signal); + } + printf("Function %s()", ci->func); if (__checked_call.file) { printf(" ("); if (__checked_call.func) { |
