summaryrefslogtreecommitdiffstats
path: root/asmrun/fail.c
diff options
context:
space:
mode:
Diffstat (limited to 'asmrun/fail.c')
-rw-r--r--asmrun/fail.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/asmrun/fail.c b/asmrun/fail.c
index 4173daf29..f975fc5c7 100644
--- a/asmrun/fail.c
+++ b/asmrun/fail.c
@@ -13,6 +13,7 @@
/* Raising exceptions from C. */
+#include <signal.h>
#include "alloc.h"
#include "fail.h"
#include "gc.h"
@@ -40,7 +41,10 @@ extern char * caml_exception_pointer;
void mlraise(v)
value v;
{
+ sigset_t mask;
leave_blocking_section();
+ sigemptyset(&mask);
+ sigprocmask(SIG_SETMASK, &mask, NULL);
#ifndef Stack_grows_upwards
while (local_roots != NULL &&
(char *) local_roots < caml_exception_pointer) {