From: Robert W. <ro...@us...> - 2003-04-29 14:52:09
|
Applied to the CVS tree. Note to Open POSIX Test Suite: Test 17-17.c was accidently left out of this patch, but the change is the same. - Robbie Robert V. Williamson <ro...@us...> Linux Test Project IBM Linux Technology Center Phone: (512) 838-9295 T/L: 678-9295 Fax: (512) 838-4603 Web: http://ltp.sourceforge.net IRC: #ltp on freenode.irc.net ==================== "Only two things are infinite, the universe and human stupidity, and I'm not sure about the former." -Albert Einstein Andreas Jaeger <aj...@su...> To: ltp...@li... Sent by: cc: ltp...@li...ur Subject: [LTP] Fix sigaction-07 testcases ceforge.net 04/29/2003 03:07 AM The testcase was non functional and non-portable: - Variables changed in signal handlers should use volatile sig_atomic_t - The timeout of child and parent should be different so that not both are awaked at the same time - The while loop exit condition was wrong I'm appending a patch, now the tests pass, Andreas ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-1.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-1.c 14 Apr 2003 15:56:21 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-1.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGABRT, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-10.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-10.c 14 Apr 2003 15:56:21 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-10.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGPIPE, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-11.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-11.c 14 Apr 2003 15:56:22 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-11.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGQUIT, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-12.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-12.c 14 Apr 2003 15:56:22 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-12.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGSEGV, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-13.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-13.c 14 Apr 2003 15:56:22 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-13.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGTERM, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-14.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-14.c 14 Apr 2003 15:56:22 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-14.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGTSTP, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-15.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-15.c 14 Apr 2003 15:56:22 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-15.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGTTIN, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-16.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-16.c 14 Apr 2003 15:56:22 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-16.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGTTOU, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-18.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-18.c 14 Apr 2003 15:56:23 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-18.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGUSR2, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-19.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-19.c 14 Apr 2003 15:56:23 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-19.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGPOLL, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-2.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-2.c 14 Apr 2003 15:56:24 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-2.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGALRM, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-20.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-20.c 14 Apr 2003 15:56:27 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-20.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGPROF, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-21.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-21.c 14 Apr 2003 15:56:27 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-21.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGSYS, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-22.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-22.c 14 Apr 2003 15:56:27 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-22.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGTRAP, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-23.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-23.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-23.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGURG, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-24.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-24.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-24.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGVTALRM, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-25.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-25.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-25.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGXCPU, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-26.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-26.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-26.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGXFSZ, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-3.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-3.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-3.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGBUS, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-4.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-4.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-4.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGCHLD, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-5.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-5.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-5.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGCONT, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-6.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-6.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-6.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGFPE, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-7.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-7.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-7.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGHUP, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-8.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-8.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-8.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGILL, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); ============================================================ Index: testcases/kernel/syscalls/sigaction/sigaction07.17-9.c --- testcases/kernel/syscalls/sigaction/sigaction07.17-9.c 14 Apr 2003 15:56:28 -0000 1.1 +++ testcases/kernel/syscalls/sigaction/sigaction07.17-9.c 29 Apr 2003 08:02:58 -0000 @@ -24,7 +24,7 @@ #include <errno.h> #include "posixtest.h" -int wakeup = 0; +volatile sig_atomic_t wakeup = 0; void handler(int signo) { @@ -46,8 +46,8 @@ int main() sigemptyset(&act.sa_mask); sigaction(SIGINT, &act, 0); - while(wakeup == 1) { - tv.tv_sec = 1; + while(wakeup == 0) { + tv.tv_sec = 10; tv.tv_usec = 0; if (select(0, NULL, NULL, NULL, &tv) == -1 && errno == EINTR) { @@ -74,6 +74,7 @@ int main() POSIX conformant OS to not schedule the child process for a long time.) */ + /* This timeout should be smaller than the one in the child. */ tv.tv_sec = 1; tv.tv_usec = 0; select(0, NULL, NULL, NULL, &tv); -- Andreas Jaeger SuSE Labs aj...@su... private aj...@ar... http://www.suse.de/~aj ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ Ltp-list mailing list Ltp...@li... https://lists.sourceforge.net/lists/listinfo/ltp-list |