aboutsummaryrefslogtreecommitdiff
path: root/debug/tst-backtrace5.c
diff options
context:
space:
mode:
Diffstat (limited to 'debug/tst-backtrace5.c')
-rw-r--r--debug/tst-backtrace5.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/debug/tst-backtrace5.c b/debug/tst-backtrace5.c
index ca47437..51180c1 100644
--- a/debug/tst-backtrace5.c
+++ b/debug/tst-backtrace5.c
@@ -28,6 +28,10 @@
#include "tst-backtrace.h"
+#ifndef SIGACTION_FLAGS
+# define SIGACTION_FLAGS 0
+#endif
+
static int do_test (void);
#define TEST_FUNCTION do_test ()
#include "../test-skeleton.c"
@@ -91,7 +95,7 @@ handle_signal (int signum)
}
NO_INLINE int
-fn (int c)
+fn (int c, int flags)
{
pid_t parent_pid, child_pid;
int pipefd[2];
@@ -100,12 +104,13 @@ fn (int c)
if (c > 0)
{
- fn (c - 1);
+ fn (c - 1, flags);
return x;
}
memset (&act, 0, sizeof (act));
act.sa_handler = handle_signal;
+ act.sa_flags = flags;
sigemptyset (&act.sa_mask);
sigaction (SIGUSR1, &act, NULL);
parent_pid = getpid ();
@@ -131,6 +136,6 @@ fn (int c)
NO_INLINE static int
do_test (void)
{
- fn (2);
+ fn (2, SIGACTION_FLAGS);
return ret;
}