trap: sigception: allow signal in signal handler context
[mate.git] / ffi / trap.c
index 228b2c36f3e96d1122f9b7ec74ed631ca2d8b5c3..9d70492cb2b292eb12f7c7935acd62655f478a65 100644 (file)
@@ -110,13 +110,13 @@ void register_signal(void)
        struct sigaction illaction;
        illaction.sa_sigaction = callertrap;
        sigemptyset(&illaction.sa_mask);
-       illaction.sa_flags = SA_SIGINFO | SA_RESTART;
+       illaction.sa_flags = SA_SIGINFO | SA_RESTART | SA_NODEFER;
        sigaction(SIGILL, &illaction, NULL);
 
        struct sigaction segvaction;
        segvaction.sa_sigaction = staticfieldtrap;
        sigemptyset(&segvaction.sa_mask);
-       segvaction.sa_flags = SA_SIGINFO | SA_RESTART;
+       segvaction.sa_flags = SA_SIGINFO | SA_RESTART | SA_NODEFER;
        sigaction(SIGSEGV, &segvaction, NULL);
 }