From f39f01c4d2cb68e351c124bab3f7f44aea62a791 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Tue, 22 Jun 2021 16:23:51 -0400 Subject: [PATCH] mon: funnel SIGHUP handler through handle_mon_signal This will let us take additional actions on SIGHUP later. Signed-off-by: Sage Weil --- src/ceph_mon.cc | 4 ++-- src/mon/Monitor.cc | 8 ++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ceph_mon.cc b/src/ceph_mon.cc index f2d417ac46572..5efcc13575fb3 100644 --- a/src/ceph_mon.cc +++ b/src/ceph_mon.cc @@ -618,7 +618,6 @@ int main(int argc, const char **argv) // set up signal handlers, now that we've daemonized/forked. init_async_signal_handler(); - register_async_signal_handler(SIGHUP, sighup_handler); MonitorDBStore *store = new MonitorDBStore(g_conf()->mon_data); @@ -913,6 +912,7 @@ int main(int argc, const char **argv) register_async_signal_handler_oneshot(SIGINT, handle_mon_signal); register_async_signal_handler_oneshot(SIGTERM, handle_mon_signal); + register_async_signal_handler(SIGHUP, handle_mon_signal); if (g_conf()->inject_early_sigterm) kill(getpid(), SIGTERM); @@ -922,7 +922,7 @@ int main(int argc, const char **argv) store->close(); - unregister_async_signal_handler(SIGHUP, sighup_handler); + unregister_async_signal_handler(SIGHUP, handle_mon_signal); unregister_async_signal_handler(SIGINT, handle_mon_signal); unregister_async_signal_handler(SIGTERM, handle_mon_signal); shutdown_async_signal_handler(); diff --git a/src/mon/Monitor.cc b/src/mon/Monitor.cc index 4124eb89f07a5..645ccdbed949e 100644 --- a/src/mon/Monitor.cc +++ b/src/mon/Monitor.cc @@ -493,9 +493,13 @@ abort: void Monitor::handle_signal(int signum) { - ceph_assert(signum == SIGINT || signum == SIGTERM); derr << "*** Got Signal " << sig_str(signum) << " ***" << dendl; - shutdown(); + if (signum == SIGHUP) { + sighup_handler(signum); + } else { + ceph_assert(signum == SIGINT || signum == SIGTERM); + shutdown(); + } } CompatSet Monitor::get_initial_supported_features() -- 2.39.5