summaryrefslogtreecommitdiff
path: root/libstore/memobj.c
diff options
context:
space:
mode:
Diffstat (limited to 'libstore/memobj.c')
-rw-r--r--libstore/memobj.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libstore/memobj.c b/libstore/memobj.c
index ea2d7b9a..e98e1b26 100644
--- a/libstore/memobj.c
+++ b/libstore/memobj.c
@@ -113,9 +113,14 @@ memobj_memcpy (memory_object_t memobj,
return 0;
if (sigsetjmp (buf, 1) == 0)
- hurd_catch_signal (sigmask (SIGSEGV) | sigmask (SIGBUS),
- window, window + windowsize,
- &copy, (sighandler_t) &fault);
+ {
+ sigset_t mask;
+ sigemptyset (&mask);
+ sigaddset (&mask, SIGSEGV);
+ sigaddset (&mask, SIGBUS);
+ hurd_catch_signal (mask, window, window + windowsize,
+ &copy, (sighandler_t) &fault);
+ }
if (window)
munmap ((caddr_t) window, windowsize);