From: huanwen ren Date: Mon, 5 Feb 2018 07:23:42 +0000 (+0800) Subject: common: Sign in early SIGHUP signal X-Git-Tag: v13.0.2~329^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F19958%2Fhead;p=ceph.git common: Sign in early SIGHUP signal Contains the following process: ceph-mon ceph-mgr ceph-mds ceph-fuse radosgw. Signed-off-by: huanwen ren --- diff --git a/src/ceph_fuse.cc b/src/ceph_fuse.cc index 76fedf50afe..05a4f3f9da9 100644 --- a/src/ceph_fuse.cc +++ b/src/ceph_fuse.cc @@ -145,6 +145,9 @@ int main(int argc, const char **argv, const char *envp[]) { { common_init_finish(g_ceph_context); + + init_async_signal_handler(); + register_async_signal_handler(SIGHUP, sighup_handler); //cout << "child, mounting" << std::endl; class RemountTest : public Thread { @@ -240,9 +243,6 @@ int main(int argc, const char **argv, const char *envp[]) { goto out_messenger_start_failed; } - init_async_signal_handler(); - register_async_signal_handler(SIGHUP, sighup_handler); - // start client r = client->init(); if (r < 0) { diff --git a/src/ceph_mds.cc b/src/ceph_mds.cc index 536edca41fc..5399b9460fe 100644 --- a/src/ceph_mds.cc +++ b/src/ceph_mds.cc @@ -174,7 +174,11 @@ int main(int argc, const char **argv) global_init_daemonize(g_ceph_context); common_init_finish(g_ceph_context); - + + // set up signal handlers, now that we've daemonized/forked. + init_async_signal_handler(); + register_async_signal_handler(SIGHUP, sighup_handler); + // get monmap MonClient mc(g_ceph_context); if (mc.build_initial_monmap() < 0) @@ -196,9 +200,6 @@ int main(int argc, const char **argv) goto shutdown; } - // set up signal handlers, now that we've daemonized/forked. - init_async_signal_handler(); - register_async_signal_handler(SIGHUP, sighup_handler); register_async_signal_handler_oneshot(SIGINT, handle_mds_signal); register_async_signal_handler_oneshot(SIGTERM, handle_mds_signal); diff --git a/src/ceph_mon.cc b/src/ceph_mon.cc index ea022d0c42f..63d7e841244 100644 --- a/src/ceph_mon.cc +++ b/src/ceph_mon.cc @@ -512,6 +512,10 @@ int main(int argc, const char **argv) #endif } + // 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); { ostringstream oss; @@ -789,9 +793,6 @@ int main(int argc, const char **argv) mon->init(); - // set up signal handlers, now that we've daemonized/forked. - init_async_signal_handler(); - register_async_signal_handler(SIGHUP, sighup_handler); register_async_signal_handler_oneshot(SIGINT, handle_mon_signal); register_async_signal_handler_oneshot(SIGTERM, handle_mon_signal); diff --git a/src/mgr/MgrStandby.cc b/src/mgr/MgrStandby.cc index cd8ec2ca36c..7aebbae5ef0 100644 --- a/src/mgr/MgrStandby.cc +++ b/src/mgr/MgrStandby.cc @@ -94,6 +94,9 @@ void MgrStandby::handle_conf_change( int MgrStandby::init() { + init_async_signal_handler(); + register_async_signal_handler(SIGHUP, sighup_handler); + Mutex::Locker l(lock); // Initialize Messenger @@ -422,8 +425,6 @@ int MgrStandby::main(vector args) { // Enable signal handlers signal_mgr = this; - init_async_signal_handler(); - register_async_signal_handler(SIGHUP, sighup_handler); register_async_signal_handler_oneshot(SIGINT, handle_mgr_signal); register_async_signal_handler_oneshot(SIGTERM, handle_mgr_signal); diff --git a/src/rgw/rgw_main.cc b/src/rgw/rgw_main.cc index aaa57ae0ef3..659b05f0764 100644 --- a/src/rgw/rgw_main.cc +++ b/src/rgw/rgw_main.cc @@ -287,6 +287,9 @@ int main(int argc, const char **argv) common_init_finish(g_ceph_context); + init_async_signal_handler(); + register_async_signal_handler(SIGHUP, sighup_handler); + int r = rgw_tools_init(g_ceph_context); if (r < 0) { derr << "ERROR: unable to initialize rgw tools" << dendl; @@ -427,8 +430,6 @@ int main(int argc, const char **argv) exit(1); } - init_async_signal_handler(); - register_async_signal_handler(SIGHUP, sighup_handler); register_async_signal_handler(SIGTERM, handle_sigterm); register_async_signal_handler(SIGINT, handle_sigterm); register_async_signal_handler(SIGUSR1, handle_sigterm);