]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
crimson/common: FatalSignal::signaled() takes siginfo by a reference.
authorRadoslaw Zarzynski <rzarzyns@redhat.com>
Tue, 22 Jun 2021 14:23:02 +0000 (14:23 +0000)
committerRadoslaw Zarzynski <rzarzyns@redhat.com>
Fri, 25 Jun 2021 04:16:30 +0000 (04:16 +0000)
There is no point in having the distincted `nullptr` value.

Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
src/crimson/common/fatal_signal.cc
src/crimson/common/fatal_signal.h

index dccd3a88fb1782d6048fe7163e18d54d343117d2..43909fee418a63c3db62c69f33b78e9520cbbf33 100644 (file)
@@ -40,7 +40,8 @@ void FatalSignal::install_oneshot_signal_handler()
     if (static std::atomic_bool handled{false}; handled.exchange(true)) {
       return;
     }
-    FatalSignal::signaled(sig, info);
+    assert(info);
+    FatalSignal::signaled(sig, *info);
     ::signal(sig, SIG_DFL);
   };
   sigfillset(&sa.sa_mask);
@@ -65,9 +66,9 @@ static void print_backtrace(std::string_view cause) {
   //       see handle_fatal_signal()
 }
 
-static void print_segv_info(const siginfo_t* siginfo)
+static void print_segv_info(const siginfo_t& siginfo)
 {
-  std::cerr << "Fault at location: " << siginfo->si_addr << std::endl;
+  std::cerr << "Fault at location: " << siginfo.si_addr << std::endl;
   std::cerr << std::flush;
 }
 
@@ -97,7 +98,7 @@ static void print_proc_maps()
   }
 }
 
-void FatalSignal::signaled(const int signum, const siginfo_t* siginfo)
+void FatalSignal::signaled(const int signum, const siginfo_t& siginfo)
 {
   switch (signum) {
   case SIGSEGV:
index 987f75bf94bf2cf976235d7920505ac274805bfb..dd366c28143f783c63c2cf8d20e5fa86bcfcf4b6 100644 (file)
@@ -10,7 +10,7 @@ public:
   FatalSignal();
 
 private:
-  static void signaled(int signum, const siginfo_t* siginfo);
+  static void signaled(int signum, const siginfo_t& siginfo);
 
   template <int... SigNums>
   void install_oneshot_signals_handler();