about summary refs log tree commit diff
path: root/nptl/allocatestack.c
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2021-05-10 10:31:41 +0200
committerFlorian Weimer <fweimer@redhat.com>2021-05-10 10:31:41 +0200
commit652c7c6fe7a08643b8e98f085d422f4e43ec47b4 (patch)
treee8b0e441711a089b05b760073f44d32b9888ea66 /nptl/allocatestack.c
parent2dd87703d4386f2776c5b5f375a494c91d7f9fe4 (diff)
downloadglibc-652c7c6fe7a08643b8e98f085d422f4e43ec47b4.tar.gz
glibc-652c7c6fe7a08643b8e98f085d422f4e43ec47b4.tar.xz
glibc-652c7c6fe7a08643b8e98f085d422f4e43ec47b4.zip
nptl: Simplify resetting the in-flight stack in __reclaim_stacks
stack_list_del overwrites the in-flight stack variable.

Tested-by: Carlos O'Donell <carlos@redhat.com>
Reviewed-by: Carlos O'Donell <carlos@redhat.com>
Diffstat (limited to 'nptl/allocatestack.c')
-rw-r--r--nptl/allocatestack.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 12cd1058d4..076cffd35b 100644
--- a/nptl/allocatestack.c
+++ b/nptl/allocatestack.c
@@ -799,6 +799,8 @@ __reclaim_stacks (void)
 	  elem->next->prev = elem->prev;
 	  elem->prev->next = elem->next;
 	}
+
+      GL (dl_in_flight_stack) = 0;
     }
 
   /* Mark all stacks except the still running one as free.  */
@@ -842,7 +844,7 @@ __reclaim_stacks (void)
   /* Remove the entry for the current thread to from the cache list
      and add it to the list of running threads.  Which of the two
      lists is decided by the user_stack flag.  */
-  stack_list_del (&self->list);
+  list_del (&self->list);
 
   /* Re-initialize the lists for all the threads.  */
   INIT_LIST_HEAD (&GL (dl_stack_used));
@@ -856,8 +858,6 @@ __reclaim_stacks (void)
   /* There is one thread running.  */
   __nptl_nthreads = 1;
 
-  GL (dl_in_flight_stack) = 0;
-
   /* Initialize locks.  */
   GL (dl_stack_cache_lock) = LLL_LOCK_INITIALIZER;
   __default_pthread_attr_lock = LLL_LOCK_INITIALIZER;