summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@inria.fr>1999-11-16 11:08:28 +0000
committerXavier Leroy <xavier.leroy@inria.fr>1999-11-16 11:08:28 +0000
commit07708176eecd61b443da76c4a917177ad8b0f26a (patch)
tree15b2402dc21b3f669b65c9e88faf067479c109fc
parent97a304ab86fde777c6d9b4a7710c75208e076c9b (diff)
Remise a jour SunOS 4
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@2538 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
-rw-r--r--asmrun/signals.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/asmrun/signals.c b/asmrun/signals.c
index 8870c6fe2..a19c9c643 100644
--- a/asmrun/signals.c
+++ b/asmrun/signals.c
@@ -323,16 +323,15 @@ static void trap_handler(int sig, int code,
struct sigcontext * context, char * address)
{
int * sp;
-
- if (code != ILL_TRAP_FAULT(5)) {
- fprintf(stderr, "Fatal error: illegal instruction, code 0x%x\n", code);
- exit(100);
- }
/* Unblock SIGILL */
sigset_t mask;
sigemptyset(&mask);
sigaddset(&mask, SIGILL);
sigprocmask(SIG_UNBLOCK, &mask, NULL);
+ if (code != ILL_TRAP_FAULT(5)) {
+ fprintf(stderr, "Fatal error: illegal instruction, code 0x%x\n", code);
+ exit(100);
+ }
/* Recover young_ptr and caml_exception_pointer from the %l5 and %l6 regs */
sp = (int *) context->sc_sp;
caml_exception_pointer = (char *) sp[5];