From: Florian Weimer Date: Mon, 10 May 2021 08:31:41 +0000 (+0200) Subject: nptl: Simplify resetting the in-flight stack in __reclaim_stacks X-Git-Tag: glibc-2.34~463 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=652c7c6fe7a08643b8e98f085d422f4e43ec47b4;p=thirdparty%2Fglibc.git nptl: Simplify resetting the in-flight stack in __reclaim_stacks stack_list_del overwrites the in-flight stack variable. Tested-by: Carlos O'Donell Reviewed-by: Carlos O'Donell --- diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c index 12cd1058d41..076cffd35b8 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;