Selaa lähdekoodia

fixed crash in new rsyscall (failure to set sa_flags for signal handler)

Rich Felker 14 vuotta sitten
vanhempi
sitoutus
6682ed1e74
1 muutettua tiedostoa jossa 2 lisäystä ja 0 poistoa
  1. 2 0
      src/thread/__rsyscall.c

+ 2 - 0
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;