This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] remove one nested function from nptl/allocatestack.c


I have pushed this now.

Thanks,
Siddhesh

commit fc75bf464d128f6a722d6cca7012c996f1f73425
Author: Siddhesh Poyarekar <siddhesh@redhat.com>
Date:   Fri Jun 6 02:59:49 2014 +0530

    Inline nested function check_list

diff --git a/ChangeLog b/ChangeLog
index 17f0c83..8fe1ad0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-06-05  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+	* nptl/allocatestack.c (check_list): Inlined function...
+	(__reclaim_stacks): ... here.
+
 2014-06-05  OndÅej BÃlka  <neleai@seznam.cz>
 
 	[BZ #15698]
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 1e22f7d..d0d155c 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -830,26 +830,23 @@ __reclaim_stacks (void)
 
       if (add_p)
 	{
-	  /* We always add at the beginning of the list.  So in this
-	     case we only need to check the beginning of these lists.  */
-	  int check_list (list_t *l)
-	  {
-	    if (l->next->prev != l)
-	      {
-		assert (l->next->prev == elem);
-
-		elem->next = l->next;
-		elem->prev = l;
-		l->next = elem;
-
-		return 1;
-	      }
-
-	    return 0;
-	  }
-
-	  if (check_list (&stack_used) == 0)
-	    (void) check_list (&stack_cache);
+	  /* We always add at the beginning of the list.  So in this case we
+	     only need to check the beginning of these lists to see if the
+	     pointers at the head of the list are inconsistent.  */
+	  list_t *l = NULL;
+
+	  if (stack_used.next->prev != &stack_used)
+	    l = &stack_used;
+	  else if (stack_cache.next->prev != &stack_cache)
+	    l = &stack_cache;
+
+	  if (l != NULL)
+	    {
+	      assert (l->next->prev == elem);
+	      elem->next = l->next;
+	      elem->prev = l;
+	      l->next = elem;
+	    }
 	}
       else
 	{

Attachment: pgpM1_ixusNK4.pgp
Description: PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]