From: Michael Altizer (mialtize) Date: Tue, 1 Sep 2020 03:37:42 +0000 (+0000) Subject: Merge pull request #2444 in SNORT/snort3 from ~MIALTIZE/snort3:freebsd to master X-Git-Tag: 3.0.2-6~28 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f4c889e6541f5d186f111677d666ee8060b4bcec;p=thirdparty%2Fsnort3.git Merge pull request #2444 in SNORT/snort3 from ~MIALTIZE/snort3:freebsd to master Squashed commit of the following: commit c12beed04d5a2988dacc479a8c56b19fa1924412 Author: Michael Altizer Date: Mon Aug 31 22:58:40 2020 -0400 helpers: Fix build on systems without sigaction commit dc8959e04466d76792605447c3236fb2858f0104 Author: Michael Altizer Date: Mon Aug 31 22:53:15 2020 -0400 helpers: Use sig_t instead of sighandler_t for better BSD compatibility --- diff --git a/src/helpers/process.cc b/src/helpers/process.cc index 55f31220f..b07ec2aaa 100644 --- a/src/helpers/process.cc +++ b/src/helpers/process.cc @@ -100,7 +100,7 @@ original_sigactions[] = static struct { int signal; - sighandler_t original_sighandler; + sig_t original_sighandler; } original_sighandlers[] = { @@ -111,7 +111,7 @@ original_sighandlers[] = }; #endif -static bool add_signal(int sig, sighandler_t); +static bool add_signal(int sig, sig_t); static bool restore_signal(int sig, bool silent = false); static bool exit_pronto = true; @@ -302,7 +302,7 @@ const char* get_signal_name(PigSignal s) // signal management //------------------------------------------------------------------------- -static bool add_signal(int sig, sighandler_t signal_handler) +static bool add_signal(int sig, sig_t signal_handler) { #ifdef HAVE_SIGACTION struct sigaction action; @@ -328,7 +328,7 @@ static bool add_signal(int sig, sighandler_t signal_handler) return false; } #else - sighandler_t original_handler = signal(sig, signal_handler); + sig_t original_handler = signal(sig, signal_handler); if (original_handler == SIG_ERR) { ErrorMessage("Could not add handler for signal %d: %s (%d)\n", sig, get_error(errno), errno); @@ -337,9 +337,9 @@ static bool add_signal(int sig, sighandler_t signal_handler) for (unsigned i = 0; original_sighandlers[i].signal; i++) { - if (original_sigactions[i].signal == sig) + if (original_sighandlers[i].signal == sig) { - original_sigactions[i].original_handler = original_handler; + original_sighandlers[i].original_sighandler = original_handler; break; } } @@ -378,13 +378,13 @@ static bool restore_signal(int sig, bool silent) return false; } #else - sighandler_t signal_handler = SIG_DFL; + sig_t signal_handler = SIG_DFL; for (unsigned i = 0; original_sighandlers[i].signal; i++) { - if (original_sigactions[i].signal == sig) + if (original_sighandlers[i].signal == sig) { - signal_handler = original_sigactions[i].original_handler; + signal_handler = original_sighandlers[i].original_sighandler; break; } }