From: Xiong, C. <cry...@in...> - 2004-02-27 09:35:14
|
Hi, I ran a test case for sigprocmask in posixtestsuite project based on = kernel 2.6.1=20 with libc-2004-02-01 on IA64 platform. The case failed, following is the = detailed=20 information. Platform: -------------------- libc: 2004-02-01 Linux kernel: 2.6.1-mm2 SMP on ia64 gcc-3.3.3-20040209 Redhat EL-3.0-update1 Test Case and Output ---------------------- The case can be found at = http://cvs.sourceforge.net/viewcvs.py/posixtest/posixtestsuite/conformanc= e/interfaces/sigprocmask/12-1.c Output:=20 FAIL: signal mask was changed. I have also tested it on ia32 platform, it works well. From the strace = log,=20 signal set is unchanged after calling sigprocmask with invalid = =A1=B0how=A1=B1, so test case passes. But when executing the case directly, the case would fail = with SIGALRM in the signal set. The strace log is as the following: =A1=AD=A1=AD munmap(0x200000000002c000, 48731) =3D 0 set_tid_address(0x2000000000410090) =3D 19934 rt_sigaction(SIGRT0, {0x200000000003d6e8, [], SA_SIGINFO}, NULL, 8) =3D = 0 rt_sigprocmask(SIG_UNBLOCK, [RT0], NULL, 8) =3D 0 getrlimit(RLIMIT_STACK, {rlim_cur=3D8192*1024, rlim_max=3D2097152*1024}) = =3D 0 rt_sigprocmask(SIG_SETMASK, [ABRT], NULL, 8) =3D 0 rt_sigprocmask(0x6b8b4567 /* SIG_??? */, [ABRT ALRM], NULL, 8) =3D -1 = EINVAL (Invalid argument) rt_sigprocmask(SIG_SETMASK, NULL, [ABRT], 8) =3D 0 fstat(1, {st_mode=3DS_IFCHR|0620, st_rdev=3Dmakedev(136, 1), ...}) =3D 0 mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, = 0) =3D 0x2000000000464000 write(1, "PASS: signal mask was not change"..., 35PASS: signal mask was = not changed. ) =3D 35 munmap(0x2000000000464000, 65536) =3D 0 exit_group(0) =3D ?Thanks, Crystal |