From a1ecf9ff0f6fc6ef0bcdaf231ed2d395ee979b4b Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sun, 21 Mar 2010 17:23:17 +0100 Subject: Support signalfd4 in syscalls2.stp tapset. * tapset/aux_syscalls.stp (_signalfd4_flags_str): New utility function. * tapset/syscalls2.stp (syscall.signalfd[.return]): Handle signalfd4 variant when available. * testsuite/systemtap.syscall/signalfd.c: New test. --- testsuite/systemtap.syscall/signalfd.c | 35 ++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 testsuite/systemtap.syscall/signalfd.c (limited to 'testsuite/systemtap.syscall/signalfd.c') diff --git a/testsuite/systemtap.syscall/signalfd.c b/testsuite/systemtap.syscall/signalfd.c new file mode 100644 index 00000000..e4621bf9 --- /dev/null +++ b/testsuite/systemtap.syscall/signalfd.c @@ -0,0 +1,35 @@ +/* COVERAGE: signalfd */ +#include +#include +#include +#include +#include +#include + +int main() +{ + sigset_t mask; + int sfd; + + sigemptyset(&mask); + sigaddset(&mask, SIGINT); + sigaddset(&mask, SIGQUIT); + sfd = signalfd(-1, &mask, 0); + //staptest// signalfd (-1, XXXX, NNNN) = NNNN + + sigaddset(&mask, SIGUSR1); + sigaddset(&mask, SIGUSR2); + sfd = signalfd(sfd, &mask, 0); + //staptest// signalfd (NNNN, XXXX, NNNN) = NNNN + +#if defined(SFD_NONBLOCK) && defined(SFD_CLOEXEC) + sfd = signalfd(-1, &mask, SFD_NONBLOCK); + //staptest// signalfd4 (-1, XXXX, NNNN, SFD_NONBLOCK) = NNNN + sfd = signalfd(-1, &mask, SFD_CLOEXEC); + //staptest// signalfd4 (-1, XXXX, NNNN, SFD_CLOEXEC) = NNNN + sfd = signalfd(-1, &mask, SFD_NONBLOCK|SFD_CLOEXEC); + //staptest// signalfd4 (-1, XXXX, NNNN, SFD_NONBLOCK|SFD_CLOEXEC) = NNNN +#endif + + return 0; +} -- cgit