From 36775704ae63c5566a4169e88d9a806e8a37ab40 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 14 Dec 2006 18:03:28 +0000 Subject: [PATCH] * misc/tst-pselect.c (do_test): Make sure the helper process is terminating when the test is aborted. --- ChangeLog | 5 +++++ misc/tst-pselect.c | 19 +++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 53b8f3d..cdcdf5a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2006-12-14 Ulrich Drepper + + * misc/tst-pselect.c (do_test): Make sure the helper process is + terminating when the test is aborted. + 2006-12-13 Ulrich Drepper * sysdeps/unix/sysv/linux/bits/statvfs.h: Define ST_RELATIME. diff --git a/misc/tst-pselect.c b/misc/tst-pselect.c index 123c319..54c5ee8 100644 --- a/misc/tst-pselect.c +++ b/misc/tst-pselect.c @@ -29,6 +29,15 @@ do_test (void) return 1; } + sa.sa_handler = SIG_IGN; + sa.sa_flags = SA_NOCLDWAIT; + + if (sigaction (SIGCHLD, &sa, NULL) != 0) + { + puts ("2nd sigaction failed"); + return 1; + } + if (sigblock (SIGUSR1) != 0) { puts ("sigblock failed"); @@ -52,6 +61,7 @@ do_test (void) struct timespec to = { .tv_sec = 0, .tv_nsec = 500000000 }; + pid_t parent = getpid (); pid_t p = fork (); if (p == 0) { @@ -63,6 +73,9 @@ do_test (void) int e; do { + if (getppid () != parent) + exit (2); + errno = 0; e = pselect (fds[0][0] + 1, &rfds, NULL, NULL, &to, &ss); } @@ -108,12 +121,6 @@ do_test (void) return 1; } - if (TEMP_FAILURE_RETRY (waitpid (p, NULL, 0)) != p) - { - puts ("waitpid failed"); - return 1; - } - return 0; } -- 2.7.4