Some systems do not have SA_SIGINFO (siginfo_t), like GNU/Hurd, so just test if defin...
authorLaurent Monin <geeqie@norz.org>
Fri, 4 Dec 2009 21:01:11 +0000 (21:01 +0000)
committerLaurent Monin <geeqie@norz.org>
Fri, 4 Dec 2009 21:01:11 +0000 (21:01 +0000)
src/main.c

index f1d768d..0cf9f41 100644 (file)
@@ -709,7 +709,7 @@ void exit_program(void)
  */
 /* FIXME: this probably needs some better ifdefs. Please report any compilation problems */
 
-#ifdef SIGBUS
+#if defined(SIGBUS) && defined(SA_SIGINFO)
 static void sigbus_handler_cb(int signum, siginfo_t *info, void *context)
 {
        unsigned long pagesize = sysconf(_SC_PAGE_SIZE);
@@ -720,7 +720,7 @@ static void sigbus_handler_cb(int signum, siginfo_t *info, void *context)
 
 static void setup_sigbus_handler(void)
 {
-#ifdef SIGBUS
+#if defined(SIGBUS) && defined(SA_SIGINFO)
        struct sigaction sigbus_action;
        sigfillset(&sigbus_action.sa_mask);
        sigbus_action.sa_sigaction = sigbus_handler_cb;