Author: sthibault
Date: 2013-09-21 23:40:55 +0000 (Sat, 21 Sep 2013)
New Revision: 5697

Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/hurd-i386/tg-thread-cancel.diff
Log:
  * patches/hurd-i386/tg-thread-cancel.diff: Update patch against two other
    overzealous assertions.


Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog        2013-09-21 21:34:08 UTC (rev 
5696)
+++ glibc-package/trunk/debian/changelog        2013-09-21 23:40:55 UTC (rev 
5697)
@@ -19,6 +19,8 @@
     Schwinge to add support for SOCK_CLOEXEC and SOCK_NONBLOCK.
   * patches/hurd-i386/tg-pthread-atfork.diff,cvs-pthread_atfork.diff: Add
     pthread_atfork support.
+  * patches/hurd-i386/tg-thread-cancel.diff: Update patch against two other
+    overzealous assertions.
 
  -- Adam Conrad <adcon...@0c3.net>  Thu, 01 Aug 2013 23:00:51 +0100
 

Modified: glibc-package/trunk/debian/patches/hurd-i386/tg-thread-cancel.diff
===================================================================
--- glibc-package/trunk/debian/patches/hurd-i386/tg-thread-cancel.diff  
2013-09-21 21:34:08 UTC (rev 5696)
+++ glibc-package/trunk/debian/patches/hurd-i386/tg-thread-cancel.diff  
2013-09-21 23:40:55 UTC (rev 5697)
@@ -1,13 +1,26 @@
 From: Samuel Thibault <samuel.thiba...@ens-lyon.org>
-Subject: [PATCH] The critical section lock _can_ be held in that place.
+Subject: [PATCH] The critical section lock _can_ be held in these place.
 
+At least since hurd_thread_cancel can be called by another thread.
+
+2006-08-05  Samuel Thibault  <samuel.thiba...@ens-lyon.org>
+
+       * hurd/thread-cancel.c (hurd_thread_cancel): Do not assert that
+       `&ss->critical_section_lock' is unlocked.
+       * sysdeps/mach/hurd/jmp-unwind.c (_longjmp_unwind): Likewise.
+       * sysdeps/mach/hurd/spawni.c (__spawni): Likewise.
+
 ---
  hurd/thread-cancel.c |    1 -
- 1 file changed, 1 deletion(-)
+ sysdeps/mach/hurd/jmp-unwind.c | 1 -
+ sysdeps/mach/hurd/spawni.c     | 1 -
+ 3 files changed, 3 deletions(-)
 
+diff --git a/hurd/thread-cancel.c b/hurd/thread-cancel.c
+index c7f88ee..2e8d91e 100644
 --- a/hurd/thread-cancel.c
 +++ b/hurd/thread-cancel.c
-@@ -51,7 +51,6 @@
+@@ -51,7 +51,6 @@ hurd_thread_cancel (thread_t thread)
        return 0;
      }
  
@@ -15,3 +28,29 @@
    __spin_lock (&ss->critical_section_lock);
    __spin_lock (&ss->lock);
    err = __thread_suspend (thread);
+diff --git a/sysdeps/mach/hurd/jmp-unwind.c b/sysdeps/mach/hurd/jmp-unwind.c
+index bdc24b9..d199682 100644
+--- a/sysdeps/mach/hurd/jmp-unwind.c
++++ b/sysdeps/mach/hurd/jmp-unwind.c
+@@ -50,7 +50,6 @@ _longjmp_unwind (jmp_buf env, int val)
+   /* All access to SS->active_resources must take place inside a critical
+      section where signal handlers cannot run.  */
+   __spin_lock (&ss->lock);
+-  assert (! __spin_lock_locked (&ss->critical_section_lock));
+   __spin_lock (&ss->critical_section_lock);
+ 
+   /* Remove local signal preemptors being unwound past.  */
+diff --git a/sysdeps/mach/hurd/spawni.c b/sysdeps/mach/hurd/spawni.c
+index 867579d..bcd06dd 100644
+--- a/sysdeps/mach/hurd/spawni.c
++++ b/sysdeps/mach/hurd/spawni.c
+@@ -235,7 +235,6 @@ __spawni (pid_t *pid, const char *file,
+ 
+   ss = _hurd_self_sigstate ();
+ 
+-  assert (! __spin_lock_locked (&ss->critical_section_lock));
+   __spin_lock (&ss->critical_section_lock);
+ 
+   _hurd_sigstate_lock (ss);
+-- 
+tg: (9a079e2..) t/thread-cancel (depends on: baseline)


-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1vnwnh-0005yc...@vasks.debian.org

Reply via email to