aboutsummaryrefslogtreecommitdiffhomepage
path: root/signal.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'signal.cpp')
-rw-r--r--signal.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/signal.cpp b/signal.cpp
index 3b6bc2db..2c51e9d2 100644
--- a/signal.cpp
+++ b/signal.cpp
@@ -628,6 +628,18 @@ void signal_handle( int sig, int do_handle )
sigaction( sig, &act, 0);
}
+void get_signals_with_handlers(sigset_t *set)
+{
+ sigemptyset(set);
+ for( int i=0; lookup[i].desc ; i++ )
+ {
+ struct sigaction act = {};
+ sigaction(lookup[i].signal, NULL, &act);
+ if (act.sa_handler != SIG_DFL)
+ sigaddset(set, lookup[i].signal);
+ }
+}
+
void signal_block()
{
ASSERT_IS_MAIN_THREAD();