From 53c1c4827e59ad3aa17969ca2ccdf4072e8ecb97 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 18 Mar 2013 13:10:36 -0700 Subject: [PATCH] signal_handler: add func to queue an async signal For example, queue a SIGINT without actually sending the signal via the OS. Signed-off-by: Sage Weil --- src/global/signal_handler.cc | 6 ++++++ src/global/signal_handler.h | 3 +++ 2 files changed, 9 insertions(+) diff --git a/src/global/signal_handler.cc b/src/global/signal_handler.cc index 2a6260da66d1..25f1a0a19929 100644 --- a/src/global/signal_handler.cc +++ b/src/global/signal_handler.cc @@ -325,6 +325,12 @@ void shutdown_async_signal_handler() g_signal_handler = NULL; } +void queue_async_signal(int signum) +{ + assert(g_signal_handler); + g_signal_handler->queue_signal(signum); +} + void register_async_signal_handler(int signum, signal_handler_t handler) { assert(g_signal_handler); diff --git a/src/global/signal_handler.h b/src/global/signal_handler.h index 8acfaed1a4c5..3a11f54315ea 100644 --- a/src/global/signal_handler.h +++ b/src/global/signal_handler.h @@ -35,6 +35,9 @@ void init_async_signal_handler(); /// shutdown async signal handler framework void shutdown_async_signal_handler(); +/// queue an async signal +void queue_async_signal(int signum); + /// install a safe, async, callback for the given signal void register_async_signal_handler(int signum, signal_handler_t handler); void register_async_signal_handler_oneshot(int signum, signal_handler_t handler); -- 2.47.3