This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug nptl/2612] glibc-20060306T1239 build problems on alpha
- From: "tomri at gmx dot net" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 27 Apr 2006 12:43:08 -0000
- Subject: [Bug nptl/2612] glibc-20060306T1239 build problems on alpha
- References: <20060427123621.2612.tomri@gmx.net>
- Reply-to: sourceware-bugzilla at sourceware dot org
------- Additional Comments From tomri at gmx dot net 2006-04-27 12:43 -------
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);
--
http://sourceware.org/bugzilla/show_bug.cgi?id=2612
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.