summaryrefslogtreecommitdiff
path: root/libpager/pager-memcpy.c
diff options
context:
space:
mode:
Diffstat (limited to 'libpager/pager-memcpy.c')
-rw-r--r--libpager/pager-memcpy.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/libpager/pager-memcpy.c b/libpager/pager-memcpy.c
index caaf6f2a..2ef42a77 100644
--- a/libpager/pager-memcpy.c
+++ b/libpager/pager-memcpy.c
@@ -208,9 +208,14 @@ pager_memcpy (struct pager *pager, memory_object_t memobj,
window_size = 0;
if (sigsetjmp (buf, 1) == 0)
- hurd_catch_signal (sigmask (SIGSEGV) | sigmask (SIGBUS),
- window, window + window_size,
- &do_copy, (sighandler_t) &fault);
+ {
+ sigset_t mask;
+ sigemptyset (&mask);
+ sigaddset (&mask, SIGSEGV);
+ sigaddset (&mask, SIGBUS);
+ hurd_catch_signal (mask, window, window + window_size,
+ &do_copy, (sighandler_t) &fault);
+ }
if (! err)
assert_backtrace (n == 0);