From: Kefu Chai Date: Wed, 16 Nov 2016 03:19:04 +0000 (+0800) Subject: global/signal_handler: reset injected segv after test X-Git-Tag: v11.1.0~158^2~3 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=d932c8f2f23263924103a900714db82ee87f6eef;p=ceph-ci.git global/signal_handler: reset injected segv after test ~CephContext() => ~TypedSingletonWrapper() => ~MempoolObs => unregister_command() => ldout() << "unregister_command" => Log::submit_entry() => *(volatile int *)(0) = 0xdead; Signed-off-by: Kefu Chai --- diff --git a/src/log/Log.cc b/src/log/Log.cc index 9bd07f2025b..9f174dfb735 100644 --- a/src/log/Log.cc +++ b/src/log/Log.cc @@ -468,5 +468,10 @@ void Log::inject_segv() m_inject_segv = true; } +void Log::reset_segv() +{ + m_inject_segv = false; +} + } // ceph::logging:: } // ceph:: diff --git a/src/log/Log.h b/src/log/Log.h index 70376733045..a8ef1c8a697 100644 --- a/src/log/Log.h +++ b/src/log/Log.h @@ -94,6 +94,7 @@ public: /// induce a segv on the next log event void inject_segv(); + void reset_segv(); }; } diff --git a/src/test/signals.cc b/src/test/signals.cc index 2cae0fab8f9..24d72168f6a 100644 --- a/src/test/signals.cc +++ b/src/test/signals.cc @@ -118,6 +118,7 @@ TEST(SignalHandler, LogInternal) { g_ceph_context->_log->inject_segv(); ASSERT_DEATH(derr << "foo" << dendl, ".*"); + g_ceph_context->_log->reset_segv(); }