summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/thread/__rsyscall.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/thread/__rsyscall.c b/src/thread/__rsyscall.c
index 923db2bf..61d41df7 100644
--- a/src/thread/__rsyscall.c
+++ b/src/thread/__rsyscall.c
@@ -61,12 +61,14 @@ int __rsyscall(int nr, long a, long b, long c, long d, long e, long f)
if (!rs.init) {
struct sigaction sa = {
+ .sa_flags = SA_SIGINFO | SA_RESTART,
.sa_sigaction = rsyscall_handler,
.sa_mask = set
};
sigfillset(&sa.sa_mask);
sa.sa_sigaction = rsyscall_handler;
__libc_sigaction(SIGSYSCALL, &sa, 0);
+ rs.init = 1;
}
rs.nr = nr;