Author: adconrad
Date: 2012-11-26 09:14:50 +0000 (Mon, 26 Nov 2012)
New Revision: 5417

Added:
   
glibc-package/branches/eglibc-2.16/debian/patches/any/local-tst-eintr1-eagain.diff
Modified:
   glibc-package/branches/eglibc-2.16/debian/changelog
   glibc-package/branches/eglibc-2.16/debian/patches/series
Log:
patches/any/local-tst-eintr1-eagain.diff: new patch to work around
a race that lets pthread_create hit resource limits when the kernel
takes too long to clean up after joined threads.  (closes: #673596)

Modified: glibc-package/branches/eglibc-2.16/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/changelog 2012-11-26 04:15:29 UTC 
(rev 5416)
+++ glibc-package/branches/eglibc-2.16/debian/changelog 2012-11-26 09:14:50 UTC 
(rev 5417)
@@ -29,6 +29,11 @@
   * debian/testsuite-checking/compare.sh: accept the build directory as an
     argument.
 
+  [ Jonathan Nieder ]
+  * patches/any/local-tst-eintr1-eagain.diff: new patch to work around
+    a race that lets pthread_create hit resource limits when the kernel
+    takes too long to clean up after joined threads.  (closes: #673596)
+
  -- Adam Conrad <[email protected]>  Sun, 25 Nov 2012 01:18:07 -0700
 
 eglibc (2.16-0experimental0) experimental; urgency=low

Added: 
glibc-package/branches/eglibc-2.16/debian/patches/any/local-tst-eintr1-eagain.diff
===================================================================
--- 
glibc-package/branches/eglibc-2.16/debian/patches/any/local-tst-eintr1-eagain.diff
                          (rev 0)
+++ 
glibc-package/branches/eglibc-2.16/debian/patches/any/local-tst-eintr1-eagain.diff
  2012-11-26 09:14:50 UTC (rev 5417)
@@ -0,0 +1,25 @@
+2012-06-06  Jonathan Nieder  <[email protected]>
+
+       * nptl/tst-eintr1.c (tf1): Tolerate EAGAIN from pthread_create.
+
+---
+
+--- a/nptl/tst-eintr1.c
++++ b/nptl/tst-eintr1.c
+@@ -49,6 +49,16 @@
+             puts ("pthread_create returned EINTR");
+             exit (1);
+           }
++        if (e == EAGAIN)
++          {
++            /* The kernel might not have processed the last few
++               pthread_join()s yet.  Tolerate that, but record the
++               event in test output so attentive people reading
++               logs can notice if pthread_join() stops working
++               altogether.  */
++            write (STDOUT_FILENO, "!", 1);
++            continue;
++          }
+ 
+         char buf[100];
+         printf ("tf1: pthread_create failed: %s\n",

Modified: glibc-package/branches/eglibc-2.16/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.16/debian/patches/series    2012-11-26 
04:15:29 UTC (rev 5416)
+++ glibc-package/branches/eglibc-2.16/debian/patches/series    2012-11-26 
09:14:50 UTC (rev 5417)
@@ -247,3 +247,4 @@
 any/cvs-cxxheaders-detection1.diff
 any/cvs-cxxheaders-detection2.diff
 any/cvs-cxxheaders-detection3.diff
+any/local-tst-eintr1-eagain.diff


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to