summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-07-20 08:10:42 -0700
committerSage Weil <sage@inktank.com>2013-07-20 08:10:42 -0700
commit61a298c39c1a6684682e2b749e45a66d073182c8 (patch)
tree68f30669d75f8caf94cec14d0069a8972a46cff7 /src
parent73b4003f6545ae1ed9efd3abc3b25bd3ebd73c46 (diff)
downloadceph-61a298c39c1a6684682e2b749e45a66d073182c8.tar.gz
osd: install async signal handlers after init()
The orderly shutdown in OSD assumes init() has completed. Signed-off-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'src')
-rw-r--r--src/ceph_osd.cc12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/ceph_osd.cc b/src/ceph_osd.cc
index b485133514e..49cae9dddb8 100644
--- a/src/ceph_osd.cc
+++ b/src/ceph_osd.cc
@@ -451,12 +451,6 @@ int main(int argc, const char **argv)
messenger_hb_back_server->start();
cluster_messenger->start();
- // install signal handlers
- init_async_signal_handler();
- register_async_signal_handler(SIGHUP, sighup_handler);
- register_async_signal_handler_oneshot(SIGINT, handle_osd_signal);
- register_async_signal_handler_oneshot(SIGTERM, handle_osd_signal);
-
// start osd
err = osd->init();
if (err < 0) {
@@ -465,6 +459,12 @@ int main(int argc, const char **argv)
return 1;
}
+ // install signal handlers
+ init_async_signal_handler();
+ register_async_signal_handler(SIGHUP, sighup_handler);
+ register_async_signal_handler_oneshot(SIGINT, handle_osd_signal);
+ register_async_signal_handler_oneshot(SIGTERM, handle_osd_signal);
+
client_messenger->wait();
messenger_hbclient->wait();
messenger_hb_front_server->wait();