diff options
Diffstat (limited to 'libstore/memobj.c')
-rw-r--r-- | libstore/memobj.c | 11 |
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, - ©, (sighandler_t) &fault); + { + sigset_t mask; + sigemptyset (&mask); + sigaddset (&mask, SIGSEGV); + sigaddset (&mask, SIGBUS); + hurd_catch_signal (mask, window, window + windowsize, + ©, (sighandler_t) &fault); + } if (window) munmap ((caddr_t) window, windowsize); |