This is the output from make check for glibc build on alpha. FC4/5 seems to ignore this failures. Because this is build for alpha and not for x86, I report it here, not at fedore bugzilla. make check should run without error. See attachment.
Created attachment 987 [details] glibc-20060306T1239
I reported some problems a time ago to mr. drepper and got no answer.. :-(( Subject: [Fwd: glibc current from cvs on alpha] Date: Tue, 21 Feb 2006 13:16:30 +0100 From: Th. Steudten To: drepper@redhat.com The problem with "write successful" which should be block, is the same on alpha and x86. The test tf_write() writes to a pipe, and this should block the call. man write: "If the O_NONBLOCK flag is clear, a write request may cause the thread to block, but on normal completion it will return nbyte." Independently from the ulimit and PIPE_SIZE values, the write() call blocks for linux alpha and x86 with kernel 2.6.15 beginning with a size of 1024*1024 byte. With this patch to tf_write() the tests runs without problem: --- tst-cancel4.c.orig 2006-02-21 13:11:39.000000000 +0100 +++ tst-cancel4.c 2006-02-21 13:13:43.000000000 +0100 @@ -190,7 +190,7 @@ tf_write (void *arg) { int fd; - int r; + int r, len = 1024 * 1024; if (arg == NULL) fd = fds[1]; @@ -198,6 +198,7 @@ { char fname[] = "/tmp/tst-cancel4-fd-XXXXXX"; tempfd = fd = mkstemp (fname); + len = 100000; if (fd == -1) printf ("%s: mkstemp failed\n", __FUNCTION__); unlink (fname); @@ -220,9 +221,9 @@ ssize_t s; pthread_cleanup_push (cl, NULL); - char buf[100000]; + char buf[1024 * 1024]; /* we need to block write() */ memset (buf, '\0', sizeof (buf)); - s = write (fd, buf, sizeof (buf)); + s = write (fd, buf, len); pthread_cleanup_pop (0);
This is fixed differently for quite some time. Check the current sources.