Blob Blame History Raw
--- liboilcpu.c	2007/08/14 17:49:29	1.43
+++ liboilcpu.c	2007/08/15 21:22:50	1.44
@@ -146,10 +146,14 @@
 illegal_instruction_handler (int num)
 {
   if (in_try_block) {
+#if 0
+    /* alternate method of siglongjmp() */
     sigset_t set;
     sigemptyset (&set);
     sigaddset (&set, SIGILL);
     sigprocmask (SIG_UNBLOCK, &set, NULL);
+    longjmp (jump_env, 1);
+#endif
     siglongjmp (jump_env, 1);
   } else {
     abort ();
@@ -204,7 +208,7 @@
   int ret;
 
   in_try_block = 1;
-  ret = sigsetjmp (jump_env);
+  ret = sigsetjmp (jump_env, 1);
   if (!ret) {
     func (priv);
   }