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