r3594 - in glibc-package/branches/eglibc-2.10/debian: . patches patches/any
Author: aurel32
Date: 2009-07-05 22:51:10 +0000 (Sun, 05 Jul 2009)
New Revision: 3594
Removed:
glibc-package/branches/eglibc-2.10/debian/patches/any/local-revert-3270.diff
Modified:
glibc-package/branches/eglibc-2.10/debian/changelog
glibc-package/branches/eglibc-2.10/debian/patches/series
Log:
- Remove debian/patches/any/local-revert-3270.diff (fixed upstream).
Modified: glibc-package/branches/eglibc-2.10/debian/changelog
===================================================================
--- glibc-package/branches/eglibc-2.10/debian/changelog 2009-07-05 22:43:03 UTC (rev 3593)
+++ glibc-package/branches/eglibc-2.10/debian/changelog 2009-07-05 22:51:10 UTC (rev 3594)
@@ -66,6 +66,7 @@
- Update debian/patches/localedata/fr_LU-first_weekday.diff
- Update debian/patches/localedata/fr_CH-first_weekday.diff
- Remove debian/patches/sh4/cvs-headers-update.diff (merged).
+ - Remove debian/patches/any/local-revert-3270.diff (fixed upstream).
* Remove localedata/locale-fr_FR.diff as coreutils has been fixed.
* Add debian/patches/any/submitted-autotools.diff to update config.guess
and config.sub.
Deleted: glibc-package/branches/eglibc-2.10/debian/patches/any/local-revert-3270.diff
===================================================================
--- glibc-package/branches/eglibc-2.10/debian/patches/any/local-revert-3270.diff 2009-07-05 22:43:03 UTC (rev 3593)
+++ glibc-package/branches/eglibc-2.10/debian/patches/any/local-revert-3270.diff 2009-07-05 22:51:10 UTC (rev 3594)
@@ -1,201 +0,0 @@
-Revert PR ntpl/3270
-
----
- nptl/allocatestack.c | 123 +++++++--------------------------------------------
- nptl/init.c | 13 -----
- 2 files changed, 21 insertions(+), 115 deletions(-)
-
---- a/nptl/nptl-init.c
-+++ b/nptl/nptl-init.c
-@@ -245,21 +245,12 @@
-
- /* Reset the SETXID flag. */
- struct pthread *self = THREAD_SELF;
-- int flags, newval;
-- do
-- {
-- flags = THREAD_GETMEM (self, cancelhandling);
-- newval = THREAD_ATOMIC_CMPXCHG_VAL (self, cancelhandling,
-- flags & ~SETXID_BITMASK, flags);
-- }
-- while (flags != newval);
-+ int flags = THREAD_GETMEM (self, cancelhandling);
-+ THREAD_SETMEM (self, cancelhandling, flags & ~SETXID_BITMASK);
-
- /* And release the futex. */
- self->setxid_futex = 1;
- lll_futex_wake (&self->setxid_futex, 1, LLL_PRIVATE);
--
-- if (atomic_decrement_val (&__xidcmd->cntr) == 0)
-- lll_futex_wake (&__xidcmd->cntr, 1, LLL_PRIVATE);
- }
-
-
---- a/nptl/allocatestack.c
-+++ b/nptl/allocatestack.c
-@@ -965,53 +965,22 @@
-
- static void
- internal_function
--setxid_mark_thread (struct xid_command *cmdp, struct pthread *t)
-+setxid_signal_thread (struct xid_command *cmdp, struct pthread *t)
- {
-- int ch;
--
-- /* Don't let the thread exit before the setxid handler runs. */
-- t->setxid_futex = 0;
--
-- do
-+ if (! IS_DETACHED (t))
- {
-- ch = t->cancelhandling;
--
-- /* If the thread is exiting right now, ignore it. */
-- if ((ch & EXITING_BITMASK) != 0)
-- return;
-- }
-- while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling,
-- ch | SETXID_BITMASK, ch));
--}
--
--
--static void
--internal_function
--setxid_unmark_thread (struct xid_command *cmdp, struct pthread *t)
--{
-- int ch;
-+ int ch;
-+ do
-+ {
-+ ch = t->cancelhandling;
-
-- do
-- {
-- ch = t->cancelhandling;
-- if ((ch & SETXID_BITMASK) == 0)
-- return;
-+ /* If the thread is exiting right now, ignore it. */
-+ if ((ch & EXITING_BITMASK) != 0)
-+ return;
-+ }
-+ while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling,
-+ ch | SETXID_BITMASK, ch));
- }
-- while (atomic_compare_and_exchange_bool_acq (&t->cancelhandling,
-- ch & ~SETXID_BITMASK, ch));
--
-- /* Release the futex just in case. */
-- t->setxid_futex = 1;
-- lll_futex_wake (&t->setxid_futex, 1, LLL_PRIVATE);
--}
--
--
--static int
--internal_function
--setxid_signal_thread (struct xid_command *cmdp, struct pthread *t)
--{
-- if ((t->cancelhandling & SETXID_BITMASK) == 0)
-- return 0;
-
- int val;
- INTERNAL_SYSCALL_DECL (err);
-@@ -1028,14 +997,8 @@
- val = INTERNAL_SYSCALL (tkill, err, 2, t->tid, SIGSETXID);
- #endif
-
-- /* If this failed, it must have had not started yet or else exited. */
- if (!INTERNAL_SYSCALL_ERROR_P (val, err))
-- {
-- atomic_increment (&cmdp->cntr);
-- return 1;
-- }
-- else
-- return 0;
-+ atomic_increment (&cmdp->cntr);
- }
-
-
-@@ -1043,7 +1006,6 @@
- attribute_hidden
- __nptl_setxid (struct xid_command *cmdp)
- {
-- int signalled;
- int result;
- lll_lock (stack_cache_lock, LLL_PRIVATE);
-
-@@ -1060,7 +1022,7 @@
- if (t == self)
- continue;
-
-- setxid_mark_thread (cmdp, t);
-+ setxid_signal_thread (cmdp, t);
- }
-
- /* Now the list with threads using user-allocated stacks. */
-@@ -1070,61 +1032,14 @@
- if (t == self)
- continue;
-
-- setxid_mark_thread (cmdp, t);
-+ setxid_signal_thread (cmdp, t);
- }
-
-- /* Iterate until we don't succeed in signalling anyone. That means
-- we have gotten all running threads, and their children will be
-- automatically correct once started. */
-- do
-+ int cur = cmdp->cntr;
-+ while (cur != 0)
- {
-- signalled = 0;
--
-- list_for_each (runp, &stack_used)
-- {
-- struct pthread *t = list_entry (runp, struct pthread, list);
-- if (t == self)
-- continue;
--
-- signalled += setxid_signal_thread (cmdp, t);
-- }
--
-- list_for_each (runp, &__stack_user)
-- {
-- struct pthread *t = list_entry (runp, struct pthread, list);
-- if (t == self)
-- continue;
--
-- signalled += setxid_signal_thread (cmdp, t);
-- }
--
-- int cur = cmdp->cntr;
-- while (cur != 0)
-- {
-- lll_futex_wait (&cmdp->cntr, cur, LLL_PRIVATE);
-- cur = cmdp->cntr;
-- }
-- }
-- while (signalled != 0);
--
-- /* Clean up flags, so that no thread blocks during exit waiting
-- for a signal which will never come. */
-- list_for_each (runp, &stack_used)
-- {
-- struct pthread *t = list_entry (runp, struct pthread, list);
-- if (t == self)
-- continue;
--
-- setxid_unmark_thread (cmdp, t);
-- }
--
-- list_for_each (runp, &__stack_user)
-- {
-- struct pthread *t = list_entry (runp, struct pthread, list);
-- if (t == self)
-- continue;
--
-- setxid_unmark_thread (cmdp, t);
-+ lll_futex_wait (&cmdp->cntr, cur, LLL_PRIVATE);
-+ cur = cmdp->cntr;
- }
-
- /* This must be last, otherwise the current thread might not have
Modified: glibc-package/branches/eglibc-2.10/debian/patches/series
===================================================================
--- glibc-package/branches/eglibc-2.10/debian/patches/series 2009-07-05 22:43:03 UTC (rev 3593)
+++ glibc-package/branches/eglibc-2.10/debian/patches/series 2009-07-05 22:51:10 UTC (rev 3594)
@@ -185,7 +185,6 @@
any/submitted-tst-cpucount.diff
any/submitted-accept4.diff
any/cvs-nptl-init.diff
-any/local-revert-3270.diff
any/submitted-accept4-hidden.diff
any/submitted-nptl_db-symbols.diff
any/submitted-getent-gshadow.diff
Reply to: