aboutsummaryrefslogtreecommitdiff
path: root/misc/tst-pselect.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-01-12 14:37:24 +0000
committerJakub Jelinek <jakub@redhat.com>2007-01-12 14:37:24 +0000
commit00e3dec8025c93ccde8ed810657e7f2115ddc8cb (patch)
tree30b8f6bdb08d364b986ae3ec3ec7664c520f0ad9 /misc/tst-pselect.c
parentd6220e9ee38c1c9285221b023346201ec5f511b3 (diff)
downloadglibc-00e3dec8025c93ccde8ed810657e7f2115ddc8cb.tar
glibc-00e3dec8025c93ccde8ed810657e7f2115ddc8cb.tar.gz
glibc-00e3dec8025c93ccde8ed810657e7f2115ddc8cb.tar.bz2
glibc-00e3dec8025c93ccde8ed810657e7f2115ddc8cb.zip
* nis/nis_table.c (nis_list): If __follow_path fails in the new
code, make sure the nis_freeresult call doesn't crash and that the result is reported correctly. * nis/nis_table.c (nis_list): Handle FOLLOW_PATH | ALL_RESULTS when callback is NULL. * nis/Versions (libnss_nisplus): Add _nss_nisplus_initgroups_dyn@@GLIBC_PRIVATE. * nis/Makefile (libnss_nisplus-routines): Add nisplus-initgroups. * nis/nss_nisplus/nisplus-grp.c (tablename_val, tablename_len, _nss_create_tablename): Rename to... (grp_tablename_val, grp_tablename_len, _nss_grp_create_tablename): ... these. No longer static. (internal_setgrent): Adjust users. (_nss_nisplus_getgrnam_r, _nss_nisplus_getgrgid_r): Likewise. Don't use locking around _nss_grp_create_tablename call. * nis/nss_nisplus/nisplus-initgroups.c: New file.
Diffstat (limited to 'misc/tst-pselect.c')
-rw-r--r--misc/tst-pselect.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/misc/tst-pselect.c b/misc/tst-pselect.c
index 35d51d8ee0..123c31912e 100644
--- a/misc/tst-pselect.c
+++ b/misc/tst-pselect.c
@@ -29,16 +29,7 @@ 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 (sigmask (SIGUSR1)) != 0)
+ if (sigblock (SIGUSR1) != 0)
{
puts ("sigblock failed");
return 1;
@@ -61,7 +52,6 @@ do_test (void)
struct timespec to = { .tv_sec = 0, .tv_nsec = 500000000 };
- pid_t parent = getpid ();
pid_t p = fork ();
if (p == 0)
{
@@ -73,9 +63,6 @@ do_test (void)
int e;
do
{
- if (getppid () != parent)
- exit (2);
-
errno = 0;
e = pselect (fds[0][0] + 1, &rfds, NULL, NULL, &to, &ss);
}
@@ -121,6 +108,12 @@ do_test (void)
return 1;
}
+ if (TEMP_FAILURE_RETRY (waitpid (p, NULL, 0)) != p)
+ {
+ puts ("waitpid failed");
+ return 1;
+ }
+
return 0;
}