Explorar o código

Define a type for signal handlers

Nils Maier %!s(int64=12) %!d(string=hai) anos
pai
achega
bf5a940ed4
Modificáronse 2 ficheiros con 6 adicións e 5 borrados
  1. 3 3
      src/util.cc
  2. 3 2
      src/util.h

+ 3 - 3
src/util.cc

@@ -1237,8 +1237,8 @@ bool isNumericHost(const std::string& name)
 namespace {
   static Lock win_signal_lock;
 
-  static void(*win_int_handler)(int) = nullptr;
-  static void(*win_term_handler)(int) = nullptr;
+  static signal_handler_t win_int_handler = nullptr;
+  static signal_handler_t win_term_handler = nullptr;
 
   static void win_ign_handler(int) {}
 
@@ -1279,7 +1279,7 @@ namespace {
 }
 #endif
 
-void setGlobalSignalHandler(int sig, sigset_t* mask, void (*handler)(int),
+void setGlobalSignalHandler(int sig, sigset_t* mask, signal_handler_t handler,
                             int flags) {
 #if _WIN32
   if (sig == SIGINT || sig == SIGTERM) {

+ 3 - 2
src/util.h

@@ -334,8 +334,9 @@ char toLowerChar(char c);
 
 bool isNumericHost(const std::string& name);
 
-void setGlobalSignalHandler(int signal, sigset_t* mask, void (*handler)(int),
-                            int flags);
+typedef void(*signal_handler_t)(int);
+void setGlobalSignalHandler(int signal, sigset_t* mask,
+                            signal_handler_t handler, int flags);
 
 std::string getHomeDir();