Make c-stack work on Haiku.
authorIngo Weinhold <ingo_weinhold@gmx.de>
Mon, 22 Dec 2008 23:58:15 +0000 (00:58 +0100)
committerBruno Haible <bruno@clisp.org>
Mon, 22 Dec 2008 23:58:15 +0000 (00:58 +0100)
ChangeLog
lib/c-stack.c

index cbd0f5e..e027a6a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
+            Eric Blake  <ebb9@byu.net>
+            Paolo Bonzini  <bonzini@gnu.org>
+            Bruno Haible  <bruno@clisp.org>
+
+       Make c-stack work on Haiku.
+       * lib/c-stack.c (SA_ONSTACK): Define fallback.
+       (c_stack_action): Use SA_ONSTACK flag.
+
 2008-12-22  Bruno Haible  <bruno@clisp.org>
 
        * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
index ae300af..023f847 100644 (file)
@@ -82,6 +82,9 @@ typedef struct sigaltstack stack_t;
 # define SIGACTION_WORKS 1
 #else
 # define SIGACTION_WORKS 0
+# ifndef SA_ONSTACK
+#  define SA_ONSTACK 0
+# endif
 #endif
 
 extern char *program_name;
@@ -317,7 +320,7 @@ c_stack_action (void (*action) (int))
   act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND | SA_SIGINFO;
   act.sa_sigaction = segv_handler;
 # else
-  act.sa_flags = SA_NODEFER | SA_RESETHAND;
+  act.sa_flags = SA_NODEFER | SA_ONSTACK | SA_RESETHAND;
   act.sa_handler = die;
 # endif