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

r6263 - in glibc-package/trunk/debian: . patches patches/hurd-i386



Author: sthibault
Date: 2014-08-28 20:12:34 +0000 (Thu, 28 Aug 2014)
New Revision: 6263

Added:
   glibc-package/trunk/debian/patches/hurd-i386/cvs-fork_ss_hang.diff
Removed:
   glibc-package/trunk/debian/patches/hurd-i386/tg-fork_ss_hang.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
tg-fork_ss_hang.diff commited upstream

Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog	2014-08-28 17:31:34 UTC (rev 6262)
+++ glibc-package/trunk/debian/changelog	2014-08-28 20:12:34 UTC (rev 6263)
@@ -5,7 +5,7 @@
     overzealous assertions.
   * patches/hurd-i386/submitted-bind_umask.diff: Split into cvs-bind_umask.diff
     and submitted-bind_umask2.diff as requested by upstream.
-  * patches/hurd-i386/tg-fork_ss_hang.diff: New patch which fixes some dash
+  * patches/hurd-i386/cvs-fork_ss_hang.diff: New patch which fixes some dash
     hangs.
 
   [ Aurelien Jarno ]

Copied: glibc-package/trunk/debian/patches/hurd-i386/cvs-fork_ss_hang.diff (from rev 6262, glibc-package/trunk/debian/patches/hurd-i386/tg-fork_ss_hang.diff)
===================================================================
--- glibc-package/trunk/debian/patches/hurd-i386/cvs-fork_ss_hang.diff	                        (rev 0)
+++ glibc-package/trunk/debian/patches/hurd-i386/cvs-fork_ss_hang.diff	2014-08-28 20:12:34 UTC (rev 6263)
@@ -0,0 +1,31 @@
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Subject: [PATCH] Fix hang on fork
+
+If e.g. a signal is being received while we are running fork(), the signal
+thread may be having our ss lock when we make the space copy, and thus in the
+child we can not take the ss lock any more.
+
+* sysdeps/mach/hurd/fork.c (__fork): Lock SS->lock around __proc_dostop() call.
+
+Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+---
+ sysdeps/mach/hurd/fork.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/sysdeps/mach/hurd/fork.c
++++ b/sysdeps/mach/hurd/fork.c
+@@ -130,9 +130,13 @@ __fork (void)
+       ports_locked = 1;
+ 
+ 
++      /* Keep our SS locked while stopping other threads, so they don't get a
++       * chance to be having it locked in the copied space.  */
++      __spin_lock(&ss->lock);
+       /* Stop all other threads while copying the address space,
+ 	 so nothing changes.  */
+       err = __proc_dostop (_hurd_ports[INIT_PORT_PROC].port, ss->thread);
++      __spin_unlock(&ss->lock);
+       if (!err)
+ 	{
+ 	  stopped = 1;

Deleted: glibc-package/trunk/debian/patches/hurd-i386/tg-fork_ss_hang.diff
===================================================================
--- glibc-package/trunk/debian/patches/hurd-i386/tg-fork_ss_hang.diff	2014-08-28 17:31:34 UTC (rev 6262)
+++ glibc-package/trunk/debian/patches/hurd-i386/tg-fork_ss_hang.diff	2014-08-28 20:12:34 UTC (rev 6263)
@@ -1,31 +0,0 @@
-From: Samuel Thibault <samuel.thibault@ens-lyon.org>
-Subject: [PATCH] Fix hang on fork
-
-If e.g. a signal is being received while we are running fork(), the signal
-thread may be having our ss lock when we make the space copy, and thus in the
-child we can not take the ss lock any more.
-
-* sysdeps/mach/hurd/fork.c (__fork): Lock SS->lock around __proc_dostop() call.
-
-Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
-
----
- sysdeps/mach/hurd/fork.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
---- a/sysdeps/mach/hurd/fork.c
-+++ b/sysdeps/mach/hurd/fork.c
-@@ -130,9 +130,13 @@ __fork (void)
-       ports_locked = 1;
- 
- 
-+      /* Keep our SS locked while stopping other threads, so they don't get a
-+       * chance to be having it locked in the copied space.  */
-+      __spin_lock(&ss->lock);
-       /* Stop all other threads while copying the address space,
- 	 so nothing changes.  */
-       err = __proc_dostop (_hurd_ports[INIT_PORT_PROC].port, ss->thread);
-+      __spin_unlock(&ss->lock);
-       if (!err)
- 	{
- 	  stopped = 1;

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series	2014-08-28 17:31:34 UTC (rev 6262)
+++ glibc-package/trunk/debian/patches/series	2014-08-28 20:12:34 UTC (rev 6263)
@@ -151,7 +151,7 @@
 hurd-i386/cvs-libpthread_std_thread.diff
 hurd-i386/cvs-bind_umask.diff
 hurd-i386/submitted-bind_umask2.diff
-hurd-i386/tg-fork_ss_hang.diff
+hurd-i386/cvs-fork_ss_hang.diff
 
 i386/local-biarch.diff
 i386/local-cmov.diff


Reply to: