Mercurial > gnulib
changeset 40237:b1386ce84ff5
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.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 16 Mar 2019 17:48:06 +0100 |
parents | e3496deebf30 |
children | 3ac749aa0041 |
files | ChangeLog lib/fatal-signal.c lib/fatal-signal.h |
diffstat | 3 files changed, 29 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- 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 <bruno@clisp.org> + + 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 <bruno@clisp.org> isatty: Make it return true in Cygwin consoles on native Windows.
--- 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; + } +}
--- 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