summaryrefslogtreecommitdiff
blob: 8efa69b8881b9038f42cc3c19e5fdf763b23d3a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Index: hdf5-1.8.4/src/H5detect.c
===================================================================
--- hdf5-1.8.4.orig/src/H5detect.c	2010-01-29 12:21:36.000000000 +0100
+++ hdf5-1.8.4/src/H5detect.c	2010-01-29 12:21:52.000000000 +0100
@@ -470,6 +470,12 @@
 static void
 sigsegv_handler(int UNUSED signo)
 {
+    sigset_t set;
+
+    sigemptyset(&set);
+    sigaddset(&set,SIGSEGV);
+    sigprocmask(SIG_UNBLOCK,&set,NULL);
+    
     signal(SIGSEGV, sigsegv_handler);
     longjmp(jbuf_g, 1);
 }
@@ -495,6 +501,12 @@
 static void
 sigbus_handler(int UNUSED signo)
 {
+    sigset_t set;
+
+    sigemptyset(&set);
+    sigaddset(&set,SIGBUS);
+    sigprocmask(SIG_UNBLOCK,&set,NULL);
+    
     signal(SIGBUS, sigbus_handler);
     longjmp(jbuf_g, 1);
 #ifdef H5_HAVE_SIGLONGJMP