This is the mail archive of the glibc-bugs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug nptl/2612] glibc-20060306T1239 build problems on alpha


------- 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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]