r5745 - in glibc-package/trunk/debian: . patches/hurd-i386
Author: sthibault
Date: 2013-11-01 22:30:48 +0000 (Fri, 01 Nov 2013)
New Revision: 5745
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/hurd-i386/libpthread.diff
Log:
* patches/hurd-i386/libpthread.diff: Synchronize with upstream.
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2013-11-01 21:24:00 UTC (rev 5744)
+++ glibc-package/trunk/debian/changelog 2013-11-01 22:30:48 UTC (rev 5745)
@@ -26,6 +26,7 @@
* patches/hurd-i386/tg-libc_getspecific.diff: New patch, fix erroneous
__libc_getspecific weak reference.
* control: Make libc0.3 break old hurd with overzealous inlines.
+ * patches/hurd-i386/libpthread.diff: Synchronize with upstream.
-- Adam Conrad <adconrad@0c3.net> Sun, 22 Sep 2013 23:39:33 -0600
Modified: glibc-package/trunk/debian/patches/hurd-i386/libpthread.diff
===================================================================
--- glibc-package/trunk/debian/patches/hurd-i386/libpthread.diff 2013-11-01 21:24:00 UTC (rev 5744)
+++ glibc-package/trunk/debian/patches/hurd-i386/libpthread.diff 2013-11-01 22:30:48 UTC (rev 5745)
@@ -564,7 +564,7 @@
+endif
+
+ifeq ($(IN_GLIBC),no)
-+$(inst_libdir) = $(libdir)
++inst_libdir = $(libdir)
+endif
+
+ifeq ($(IN_GLIBC),no)
@@ -3367,7 +3367,7 @@
+}
--- /dev/null
+++ b/libpthread/pthread/pt-create.c
-@@ -0,0 +1,217 @@
+@@ -0,0 +1,219 @@
+/* Thread creation.
+ Copyright (C) 2000, 2002, 2005, 2007 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
@@ -3432,6 +3432,8 @@
+ err = __pthread_create_internal (&pthread, attr, start_routine, arg);
+ if (! err)
+ *thread = pthread->thread;
++ else if (err == ENOMEM)
++ err = EAGAIN;
+
+ return err;
+}
@@ -3552,17 +3554,17 @@
+
+ /* At this point it is possible to guess our pthread ID. We have to
+ make sure that all functions taking a pthread_t argument can
-+ handle the fact that this thread isn't really running yet. */
++ handle the fact that this thread isn't really running yet. Since
++ the new thread might be passed its ID through pthread_create (to
++ avoid calling pthread_self), read it before starting the thread. */
++ *thread = pthread;
+
+ /* Schedule the new thread. */
+ err = __pthread_thread_start (pthread);
+ if (err)
+ goto failed_starting;
+
-+ /* At this point the new thread is up and running. */
+
-+ *thread = pthread;
-+
+ return 0;
+
+ failed_starting:
@@ -7574,7 +7576,7 @@
+#ifdef PAGESIZE
+ guardsize: PAGESIZE,
+#else
-+ guardsize: 0,
++ guardsize: 1,
+#endif /* PAGESIZE */
+ detachstate: PTHREAD_CREATE_JOINABLE,
+ inheritsched: PTHREAD_EXPLICIT_SCHED,
Reply to: