From: Sage Weil Date: Fri, 15 Nov 2019 23:10:41 +0000 (-0600) Subject: mgr: _exit(0) from signal handler even if we are standby X-Git-Tag: v15.1.0~863^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F31685%2Fhead;p=ceph.git mgr: _exit(0) from signal handler even if we are standby In 3d360b97ed7dead8e9a5f602cfaf61ab7b41e531 a signal handler was added to shut down modules and associated clients cleanly, but the standby case was left ignoring the signal completely. Fixes: https://tracker.ceph.com/issues/42744 Signed-off-by: Sage Weil --- diff --git a/src/mgr/Mgr.cc b/src/mgr/Mgr.cc index a10746a2cfb9..8a8b7e9f28a5 100644 --- a/src/mgr/Mgr.cc +++ b/src/mgr/Mgr.cc @@ -222,9 +222,7 @@ std::map Mgr::load_store() void Mgr::handle_signal(int signum) { ceph_assert(signum == SIGINT || signum == SIGTERM); - derr << "*** Got signal " << sig_str(signum) << " ***" << dendl; shutdown(); - _exit(0); // exit with 0 result code, as if we had done an orderly shutdown } // A reference for use by the signal handler @@ -232,9 +230,11 @@ static Mgr *signal_mgr = nullptr; static void handle_mgr_signal(int signum) { + derr << " *** Got signal " << sig_str(signum) << " ***" << dendl; if (signal_mgr) { signal_mgr->handle_signal(signum); } + _exit(0); // exit with 0 result code, as if we had done an orderly shutdown } void Mgr::init()