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

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: