From: Sage Weil Date: Mon, 18 Mar 2013 20:10:36 +0000 (-0700) Subject: signal_handler: add func to queue an async signal X-Git-Tag: v0.60~42^2~3 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=53c1c4827e59ad3aa17969ca2ccdf4072e8ecb97;p=ceph.git 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 --- 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);