|
From: <sv...@va...> - 2005-11-02 15:46:10
|
Author: tom
Date: 2005-11-02 15:46:07 +0000 (Wed, 02 Nov 2005)
New Revision: 4990
Log:
The memcheck/tests/sigprocmask test is designed to test that we handle
the old style sigprocmask system call correctly without corrupting
memory when we copy out the new (larger) signal mask into the user
provided old (smaller) signal mask.
It therefore makes no sense to run it on amd64 or any other platform
which only has the newer rt_sigprocmask system call, and indeed it
wasn't working because we weren't passing the extra argument which
that call expects.
Added:
trunk/memcheck/tests/sigprocmask.stderr.exp2
Modified:
trunk/memcheck/tests/Makefile.am
trunk/memcheck/tests/sigprocmask.c
Modified: trunk/memcheck/tests/Makefile.am
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/Makefile.am 2005-11-02 15:32:19 UTC (rev 4989)
+++ trunk/memcheck/tests/Makefile.am 2005-11-02 15:46:07 UTC (rev 4990)
@@ -73,7 +73,7 @@
sigaltstack.stderr.exp sigaltstack.vgtest \
sigkill.stderr.exp sigkill.stderr.exp2 sigkill.vgtest \
signal2.stderr.exp signal2.stdout.exp signal2.vgtest \
- sigprocmask.stderr.exp sigprocmask.vgtest \
+ sigprocmask.stderr.exp sigprocmask.stderr.exp2 sigprocmask.vgtest \
stack_changes.stderr.exp stack_changes.stdout.exp stack_changes.vgtest =
\
strchr.stderr.exp strchr.stderr.exp2 strchr.vgtest \
str_tester.stderr.exp str_tester.vgtest \
Modified: trunk/memcheck/tests/sigprocmask.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/sigprocmask.c 2005-11-02 15:32:19 UTC (rev 4989)
+++ trunk/memcheck/tests/sigprocmask.c 2005-11-02 15:46:07 UTC (rev 4990)
@@ -9,12 +9,9 @@
=20
int main(void)
{
- int x[6], *s, *os, i, sysno;
+ int x[6], *s, *os, i;
=20
- sysno =3D __NR_rt_sigprocmask;
#ifdef __NR_sigprocmask
- sysno =3D __NR_sigprocmask;
-#endif
=20
x[0] =3D 0x11111111;
x[1] =3D 0x89abcdef;
@@ -30,7 +27,7 @@
// blocked as perl has been known to leave some signals blocked
// when starting child processes which can cause failures in
// this test unless we reset things here.
- syscall(sysno, SIG_SETMASK, os, NULL);
+ syscall(__NR_sigprocmask, SIG_SETMASK, os, NULL);
=20
fprintf(stderr, "before\n");
for (i =3D 0; i < 6; i++) {
@@ -38,7 +35,7 @@
}
fprintf(stderr, "\n");
=20
- syscall(sysno, SIG_BLOCK, s, os);
+ syscall(__NR_sigprocmask, SIG_BLOCK, s, os);
=20
fprintf(stderr, "after1\n");
for (i =3D 0; i < 6; i++) {
@@ -46,13 +43,19 @@
}
fprintf(stderr, "\n");
=20
- syscall(sysno, SIG_BLOCK, s, os);
+ syscall(__NR_sigprocmask, SIG_BLOCK, s, os);
=20
fprintf(stderr, "after2\n");
for (i =3D 0; i < 6; i++) {
fprintf(stderr, "%x ", x[i]);
}
fprintf(stderr, "\n");
- =20
+
+#else
+
+ fprintf(stderr, "__NR_sigprocmask not supported on this platform\n");
+
+#endif
+
return(0);
}
Added: trunk/memcheck/tests/sigprocmask.stderr.exp2
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- trunk/memcheck/tests/sigprocmask.stderr.exp2 2005-11-02 15:32:19 UTC =
(rev 4989)
+++ trunk/memcheck/tests/sigprocmask.stderr.exp2 2005-11-02 15:46:07 UTC =
(rev 4990)
@@ -0,0 +1 @@
+__NR_sigprocmask not supported on this platform
|