0.9.6.46:
authorGabor Melis <mega@hotpop.com>
Wed, 16 Nov 2005 09:45:50 +0000 (09:45 +0000)
committerGabor Melis <mega@hotpop.com>
Wed, 16 Nov 2005 09:45:50 +0000 (09:45 +0000)
  * use SIGUSR1 for SA_NODEFER detection for gdb on darwin's sake

src/runtime/interrupt.c
version.lisp-expr

index f24c454..cb85bee 100644 (file)
@@ -1075,24 +1075,22 @@ sigaction_nodefer_test_handler(int signal, siginfo_t *info, void *void_context)
 static void
 see_if_sigaction_nodefer_works()
 {
-    struct sigaction sa;
+    struct sigaction sa, old_sa;
 
     sa.sa_flags = SA_SIGINFO | SA_NODEFER;
     sa.sa_sigaction = sigaction_nodefer_test_handler;
     sigemptyset(&sa.sa_mask);
     sigaddset(&sa.sa_mask, SIGABRT);
-    /* We can use any signal for which a handler will be installed
-     * later. Let's go with SIGINT because gdb barfs on SIGTRAP on
-     * Darwin. */
-    sigaction(SIGINT, &sa, NULL);
+    sigaction(SIGUSR1, &sa, &old_sa);
     /* Make sure no signals are blocked. */
     {
         sigset_t empty;
         sigemptyset(&empty);
         sigprocmask(SIG_SETMASK, &empty, 0);
     }
-    kill(getpid(), SIGINT);
+    kill(getpid(), SIGUSR1);
     while (sigaction_nodefer_works == -1);
+    sigaction(SIGUSR1, &old_sa, NULL);
 }
 
 static void
index 46dcb5b..8309609 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.6.45"
+"0.9.6.46"