]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
signal_handler: add func to queue an async signal
authorSage Weil <sage@inktank.com>
Mon, 18 Mar 2013 20:10:36 +0000 (13:10 -0700)
committerSage Weil <sage@inktank.com>
Mon, 18 Mar 2013 20:10:36 +0000 (13:10 -0700)
For example, queue a SIGINT without actually sending the signal via the
OS.

Signed-off-by: Sage Weil <sage@inktank.com>
src/global/signal_handler.cc
src/global/signal_handler.h

index 2a6260da66d1d0fa08d5c99936057628a75f4b27..25f1a0a1992938f354456142fe63e143b52ff0bc 100644 (file)
@@ -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);
index 8acfaed1a4c538265fbec2f9aa062f5ae0843d58..3a11f54315eabaa893d643513195364583ffb416 100644 (file)
@@ -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);