[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: