CVS kaffe (robilad): fix stack overflow detection to handle sigbus

Kaffe CVS <[email protected]>
Newsgroups gmane.comp.java.vm.kaffe.general
Message-ID <[email protected]>
PatchSet 7681 
Date: 2008/01/17 01:59:08
Author: robilad
Branch: HEAD
Tag: (none) 
Log:
fix stack overflow detection to handle sigbus

2008-01-17  Doug Young  <[email protected]>

        * kaffe/kaffevm/systems/unix-pthreads/signal.c (stackOverflowDetector),
        kaffe/kaffevm/systems/unix-jthreads/signal.c (stackOverflowDetector):
        The sig argument should be used to clear the signal, since it could
        be either SIGSEGV or SIGBUS.

Members: 
	ChangeLog:1.5183->1.5184 
	kaffe/kaffevm/systems/unix-jthreads/signal.c:1.34->1.35 
	kaffe/kaffevm/systems/unix-pthreads/signal.c:1.30->1.31 

Index: kaffe/ChangeLog
diff -u kaffe/ChangeLog:1.5183 kaffe/ChangeLog:1.5184
--- kaffe/ChangeLog:1.5183	Wed Jan 16 23:10:06 2008
+++ kaffe/ChangeLog	Thu Jan 17 01:59:08 2008
@@ -1,3 +1,10 @@
+2008-01-17  Doug Young  <[email protected]>
+
+	* kaffe/kaffevm/systems/unix-pthreads/signal.c (stackOverflowDetector),
+	kaffe/kaffevm/systems/unix-jthreads/signal.c (stackOverflowDetector): 
+	The "sig" argument should be used to clear the signal, since it could 
+	be either SIGSEGV or SIGBUS.
+
 2008-01-16  Dalibor Topic  <[email protected]>
 
 	* configure.ac: Only check for libgc when boehm-gc is selected as the
Index: kaffe/kaffe/kaffevm/systems/unix-jthreads/signal.c
diff -u kaffe/kaffe/kaffevm/systems/unix-jthreads/signal.c:1.34 kaffe/kaffe/kaffevm/systems/unix-jthreads/signal.c:1.35
--- kaffe/kaffe/kaffevm/systems/unix-jthreads/signal.c:1.34	Sat Jul 15 21:16:55 2006
+++ kaffe/kaffe/kaffevm/systems/unix-jthreads/signal.c	Thu Jan 17 01:59:17 2008
@@ -442,9 +442,9 @@
  * and then go back in detectStackBoundaries() using the old stack.
  */
 static void NONRETURNING
-stackOverflowDetector(SIGNAL_ARGS(sig UNUSED, sc))
+stackOverflowDetector(SIGNAL_ARGS(sig, sc))
 {
-  unblockSignal(SIGSEGV);
+  unblockSignal(sig);
   JTHREAD_LONGJMP(outOfLoop, 1);
 }
 
Index: kaffe/kaffe/kaffevm/systems/unix-pthreads/signal.c
diff -u kaffe/kaffe/kaffevm/systems/unix-pthreads/signal.c:1.30 kaffe/kaffe/kaffevm/systems/unix-pthreads/signal.c:1.31
--- kaffe/kaffe/kaffevm/systems/unix-pthreads/signal.c:1.30	Sat Oct  6 11:49:26 2007
+++ kaffe/kaffe/kaffevm/systems/unix-pthreads/signal.c	Thu Jan 17 01:59:17 2008
@@ -431,9 +431,9 @@
  * and then go back in KaffePThread_detectStackBoundaries() using the old stack.
  */
 static void NONRETURNING
-stackOverflowDetector(SIGNAL_ARGS(sig UNUSED, sc))
+stackOverflowDetector(SIGNAL_ARGS(sig, sc))
 {
-  unblockSignal(SIGSEGV);
+  unblockSignal(sig);
   JTHREAD_LONGJMP(outOfLoop, 1);
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.