diff options
author | Frank Ch. Eigler <fche@elastic.org> | 2007-10-10 13:58:43 -0400 |
---|---|---|
committer | Frank Ch. Eigler <fche@elastic.org> | 2007-10-10 13:58:43 -0400 |
commit | 36c24cdba10c3d20638c78b52cc8e327a3a0b82d (patch) | |
tree | 24cbeb006365fdaa21dbf9cf3b44eae055684123 /testsuite | |
parent | 38d7fc30b108ec4a9e74ddb33d945cce1bd5c4c6 (diff) | |
parent | d319669c3f77a3e451f1cad845471433e6d0dbfa (diff) | |
download | systemtap-steved-36c24cdba10c3d20638c78b52cc8e327a3a0b82d.tar.gz systemtap-steved-36c24cdba10c3d20638c78b52cc8e327a3a0b82d.tar.xz systemtap-steved-36c24cdba10c3d20638c78b52cc8e327a3a0b82d.zip |
Merge branch 'master' of git://sources.redhat.com/git/systemtap
Diffstat (limited to 'testsuite')
-rw-r--r-- | testsuite/systemtap.syscall/ChangeLog | 11 | ||||
-rw-r--r-- | testsuite/systemtap.syscall/rt_signal.c | 17 | ||||
-rw-r--r-- | testsuite/systemtap.syscall/signal.c | 46 |
3 files changed, 45 insertions, 29 deletions
diff --git a/testsuite/systemtap.syscall/ChangeLog b/testsuite/systemtap.syscall/ChangeLog index 9811a707..61c72bc2 100644 --- a/testsuite/systemtap.syscall/ChangeLog +++ b/testsuite/systemtap.syscall/ChangeLog @@ -1,3 +1,14 @@ +2007-10-09 Martin Hunt <hunt@redhat.com> + + * rt_signal.c: Fix expected results for IA64. + +2007-10-09 Martin Hunt <hunt@redhat.com> + + * rt_signal.c: Fix expected patterns to match + recent changes in tapsets. + + * signal.c: Use syscall(). Fix expected patterns. + 2007-10-01 Martin Hunt <hunt@redhat.com> * test.tcl (run_one_test): Append newlines when diff --git a/testsuite/systemtap.syscall/rt_signal.c b/testsuite/systemtap.syscall/rt_signal.c index 32eb9a92..f25633b7 100644 --- a/testsuite/systemtap.syscall/rt_signal.c +++ b/testsuite/systemtap.syscall/rt_signal.c @@ -18,26 +18,33 @@ int main() sigemptyset(&mask); sigaddset(&mask, SIGUSR1); + sigaddset(&mask, SIGUSR2); sigprocmask(SIG_BLOCK, &mask, NULL); - // rt_sigprocmask (SIG_BLOCK, XXXX, 0x[0]+, 8) = 0 + // rt_sigprocmask (SIG_BLOCK, \[SIGUSR1|SIGUSR2\], 0x[0]+, 8) = 0 + sigdelset(&mask, SIGUSR2); sigprocmask(SIG_UNBLOCK, &mask, NULL); - // rt_sigprocmask (SIG_UNBLOCK, XXXX, 0x[0]+, 8) = 0 + // rt_sigprocmask (SIG_UNBLOCK, \[SIGUSR1\], 0x[0]+, 8) = 0 sa.sa_handler = SIG_IGN; sigemptyset(&sa.sa_mask); sigaddset(&sa.sa_mask, SIGALRM); sa.sa_flags = 0; sigaction(SIGUSR1, &sa, NULL); - // rt_sigaction (SIGUSR1, XXXX, 0x[0]+, 8) = 0 + // rt_sigaction (SIGUSR1, {SIG_IGN}, 0x[0]+, 8) = 0 sa.sa_handler = SIG_DFL; sigaction(SIGUSR1, &sa, NULL); - // rt_sigaction (SIGUSR1, XXXX, 0x[0]+, 8) = 0 + // rt_sigaction (SIGUSR1, {SIG_DFL}, 0x[0]+, 8) = 0 sa.sa_handler = sig_act_handler; sigaction(SIGUSR1, &sa, NULL); - // rt_sigaction (SIGUSR1, XXXX, 0x[0]+, 8) = 0 + +#ifdef __ia64__ + // rt_sigaction (SIGUSR1, {XXXX, [^,]+, \[SIGALRM\]}, 0x[0]+, 8) = 0 +#else + // rt_sigaction (SIGUSR1, {XXXX, [^,]+, XXXX, \[SIGALRM\]}, 0x[0]+, 8) = 0 +#endif return 0; } diff --git a/testsuite/systemtap.syscall/signal.c b/testsuite/systemtap.syscall/signal.c index e125e4a1..2c0abe38 100644 --- a/testsuite/systemtap.syscall/signal.c +++ b/testsuite/systemtap.syscall/signal.c @@ -2,56 +2,54 @@ #include <sys/types.h> #include <unistd.h> #include <signal.h> +#include <string.h> #include <sys/syscall.h> -#ifdef SYS_signal static void sig_act_handler(int signo) { } -#endif int main() { -#ifdef SYS_signal sigset_t mask; struct sigaction sa; pid_t pid; +#ifdef SYS_signal syscall(SYS_signal, SIGUSR1, SIG_IGN); - // signal (SIGUSR1, 0x0+1) = 0 + // signal (SIGUSR1, SIG_IGN) - syscall(SYS_signal, SIGUSR1, SIG_DFL); - // signal (SIGUSR1, 0x0+) = 1 + syscall (SYS_signal, SIGUSR1, SIG_DFL); + // signal (SIGUSR1, SIG_DFL) = 1 - syscall(SYS_signal, SIGUSR1, sig_act_handler); + syscall (SYS_signal, SIGUSR1, sig_act_handler); // signal (SIGUSR1, XXXX) = 0 +#endif sigemptyset(&mask); - sigaddset(&mask, SIGUSR1); - syscall(SYS_sigprocmask,SIG_BLOCK, &mask, NULL); + sigaddset(&mask, SIGUSR2); + +#ifdef SYS_sigprocmask + syscall (SYS_sigprocmask, SIG_BLOCK, &mask, NULL); // sigprocmask (SIG_BLOCK, XXXX, 0x0+) = 0 - syscall(SYS_sigprocmask,SIG_UNBLOCK, &mask, NULL); + syscall (SYS_sigprocmask, SIG_UNBLOCK, &mask, NULL); // sigprocmask (SIG_UNBLOCK, XXXX, 0x0+) = 0 +#endif + memset(&sa, 0, sizeof(sa)); + sigfillset(&sa.sa_mask); sa.sa_handler = SIG_IGN; - sigemptyset(&sa.sa_mask); - sigaddset(&sa.sa_mask, SIGALRM); - sa.sa_flags = 0; - syscall(SYS_sigaction,SIGUSR1, &sa, NULL); - // sigaction (SIGUSR1, XXXX, 0x0+) = 0 - - /* syscall(SYS_kill,0,SIGUSR1); - kill (0, SIGUSR1) = 0 - - pid = getpid(); - getpid () = NNNN +#ifdef SYS_sigaction + syscall (SYS_sigaction, SIGUSR1, &sa, NULL); + // sigaction (SIGUSR1, {SIG_IGN}, 0x0+) = 0 + #endif - syscall(SYS_tgkill,pid,pid,SIGUSR1); - tgkill (NNNN, NNNN, SIGUSR1) = 0 - */ +#ifdef SYS_tgkill + syscall(SYS_tgkill, 1234, 5678, 0); + // tgkill (1234, 5678, SIG_0) #endif return 0; |