aboutsummaryrefslogtreecommitdiff
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
parent2dd87703d4386f2776c5b5f375a494c91d7f9fe4 (diff)
downloadglibc-652c7c6fe7a08643b8e98f085d422f4e43ec47b4.zip
glibc-652c7c6fe7a08643b8e98f085d422f4e43ec47b4.tar.gz
glibc-652c7c6fe7a08643b8e98f085d422f4e43ec47b4.tar.bz2
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>
-rw-r--r--nptl/allocatestack.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/nptl/allocatestack.c b/nptl/allocatestack.c
index 12cd105..076cffd 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;