summaryrefslogtreecommitdiffstats
path: root/src/ceph_mon.cc
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2012-11-18 17:34:35 +0100
committerSage Weil <sage@inktank.com>2012-11-18 17:34:35 +0100
commit288db95aa9617d392bbf2eca65d9c6535ca55c1b (patch)
tree921acce2216defc5b8881025fdd9c32b338e86e0 /src/ceph_mon.cc
parentmon/AuthMonitor: refactor assign_global_id (diff)
downloadceph-288db95aa9617d392bbf2eca65d9c6535ca55c1b.tar.xz
ceph-288db95aa9617d392bbf2eca65d9c6535ca55c1b.zip
mon: shutdown async signal handler sooner
Before the mon, and lockdep, in particular. #0 __pthread_mutex_lock (mutex=0x30) at pthread_mutex_lock.c:50 #1 0x0000000000816092 in ceph::log::Log::submit_entry (this=0x0, e=0x2f4a270) at log/Log.cc:138 #2 0x00000000007ee0f8 in handle_fatal_signal (signum=11) at global/signal_handler.cc:100 #3 <signal handler called> #4 0x00000000008e1300 in lockdep_will_lock (name=0x959aa7 "SignalHandler::lock", id=17) at common/lockdep.cc:163 #5 0x00000000008867fc in Mutex::_will_lock (this=0x2f20428) at ./common/Mutex.h:56 #6 0x0000000000886605 in Mutex::Lock (this=0x2f20428, no_lockdep=false) at common/Mutex.cc:81 #7 0x00000000007eeb95 in SignalHandler::entry (this=0x2f20300) at global/signal_handler.cc:198 #8 0x00000000008b0bd1 in Thread::_entry_func (arg=0x2f20300) at common/Thread.cc:43 #9 0x00007f36fefd6b50 in start_thread (arg=<optimized out>) at pthread_create.c:304 #10 0x00007f36fd80b6dd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112 #11 0x0000000000000000 in ?? () #0 0x00007f36fefd7e75 in pthread_join (threadid=139874129766144, thread_return=0x0) at pthread_join.c:89 #1 0x00000000008b11ec in Thread::join (this=0x2f20300, prval=0x0) at common/Thread.cc:130 #2 0x00000000007eeae7 in SignalHandler::shutdown (this=0x2f20300) at global/signal_handler.cc:186 #3 0x00000000007ee9cf in SignalHandler::~SignalHandler (this=0x2f20300, __in_chrg=<optimized out>) at global/signal_handler.cc:175 #4 0x00000000007eea58 in SignalHandler::~SignalHandler (this=0x2f20300, __in_chrg=<optimized out>) at global/signal_handler.cc:176 #5 0x00000000007ee643 in shutdown_async_signal_handler () at global/signal_handler.cc:324 #6 0x00000000006de9d2 in main (argc=7, argv=0x7fffbfb8a1e8) at ceph_mon.cc:439 Signed-off-by: Sage Weil <sage@inktank.com>
Diffstat (limited to 'src/ceph_mon.cc')
-rw-r--r--src/ceph_mon.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ceph_mon.cc b/src/ceph_mon.cc
index 186c4f6e426..da4529f2765 100644
--- a/src/ceph_mon.cc
+++ b/src/ceph_mon.cc
@@ -430,13 +430,14 @@ int main(int argc, const char **argv)
unregister_async_signal_handler(SIGINT, handle_mon_signal);
unregister_async_signal_handler(SIGTERM, handle_mon_signal);
+ shutdown_async_signal_handler();
+
store.umount();
delete mon;
delete messenger;
delete client_throttler;
delete daemon_throttler;
g_ceph_context->put();
- shutdown_async_signal_handler();
// cd on exit, so that gmon.out (if any) goes into a separate directory for each node.
char s[20];