r5417 - in glibc-package/branches/eglibc-2.16/debian: . patches patches/any
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 <adconrad@0c3.net> 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 <jrnieder@gmail.com>
+
+ * 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
Reply to: