# HG changeset patch # User Bruno Haible # Date 1552754886 -3600 # Node ID b1386ce84ff56e30965dac11a923a4cbba70e2ce # Parent e3496deebf303281a0b8c4616941212de1d5e4d5 fatal-signal: Add function that lists the fatal signals. * lib/fatal-signal.h (get_fatal_signals): New declaration. * lib/fatal-signal.c (get_fatal_signals): New function. diff -r e3496deebf30 -r b1386ce84ff5 ChangeLog --- a/ChangeLog Thu Mar 14 23:54:28 2019 +0100 +++ b/ChangeLog Sat Mar 16 17:48:06 2019 +0100 @@ -1,3 +1,9 @@ +2019-03-16 Bruno Haible + + fatal-signal: Add function that lists the fatal signals. + * lib/fatal-signal.h (get_fatal_signals): New declaration. + * lib/fatal-signal.c (get_fatal_signals): New function. + 2019-03-14 Bruno Haible isatty: Make it return true in Cygwin consoles on native Windows. diff -r e3496deebf30 -r b1386ce84ff5 lib/fatal-signal.c --- a/lib/fatal-signal.c Thu Mar 14 23:54:28 2019 +0100 +++ b/lib/fatal-signal.c Sat Mar 16 17:48:06 2019 +0100 @@ -284,3 +284,20 @@ init_fatal_signal_set (); sigprocmask (SIG_UNBLOCK, &fatal_signal_set, NULL); } + + +unsigned int +get_fatal_signals (int signals[64]) +{ + init_fatal_signal_set (); + + { + int *p = signals; + size_t i; + + for (i = 0; i < num_fatal_signals; i++) + if (fatal_signals[i] >= 0) + *p++ = fatal_signals[i]; + return p - signals; + } +} diff -r e3496deebf30 -r b1386ce84ff5 lib/fatal-signal.h --- a/lib/fatal-signal.h Thu Mar 14 23:54:28 2019 +0100 +++ b/lib/fatal-signal.h Sat Mar 16 17:48:06 2019 +0100 @@ -71,6 +71,12 @@ extern void unblock_fatal_signals (void); +/* Return the list of signals that block_fatal_signals/unblock_fatal_signals + would block or unblock. + Fills signals[0..count-1] and returns count. */ +extern unsigned int get_fatal_signals (int signals[64]); + + #ifdef __cplusplus } #endif