diff options
author | Guy-Fleury Iteriteka <gfleury@disroot.org> | 2023-03-18 11:58:24 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2023-04-05 01:26:29 +0200 |
commit | 7bba5bd8e8c9b48b1983e5943e508b92e1270ac4 (patch) | |
tree | e58dce555ec6835eee7f79ba6e3944cfcdfeb07b /htl | |
parent | 51a121eb36d7cf016005413b4fe6995df2b7cef3 (diff) | |
download | glibc-7bba5bd8e8c9b48b1983e5943e508b92e1270ac4.tar glibc-7bba5bd8e8c9b48b1983e5943e508b92e1270ac4.tar.gz glibc-7bba5bd8e8c9b48b1983e5943e508b92e1270ac4.tar.bz2 glibc-7bba5bd8e8c9b48b1983e5943e508b92e1270ac4.zip |
htl: move __pthtread_total into libc
htl/pt-nthreads.c: new file.
htl/Makefile: Add it to routine.
htl/Versions: version it as private libc symbol.
htl/pt-create.c: remove his definition here.
htl/pt-internal.h: add propertie to it declaration.
Signed-off-by: Guy-Fleury Iteriteka <gfleury@disroot.org>
Message-Id: <20230318095826.1125734-2-gfleury@disroot.org>
Diffstat (limited to 'htl')
-rw-r--r-- | htl/Makefile | 2 | ||||
-rw-r--r-- | htl/Versions | 1 | ||||
-rw-r--r-- | htl/pt-create.c | 6 | ||||
-rw-r--r-- | htl/pt-internal.h | 1 | ||||
-rw-r--r-- | htl/pt-nthreads.c | 23 |
5 files changed, 26 insertions, 7 deletions
diff --git a/htl/Makefile b/htl/Makefile index fe570be999..9194c4fb85 100644 --- a/htl/Makefile +++ b/htl/Makefile @@ -164,7 +164,7 @@ headers := \ distribute := -routines := forward libc_pthread_init alloca_cutoff htlfreeres +routines := forward libc_pthread_init alloca_cutoff htlfreeres pt-nthreads shared-only-routines = forward extra-libs := libpthread diff --git a/htl/Versions b/htl/Versions index 4e0ebac285..113110f42e 100644 --- a/htl/Versions +++ b/htl/Versions @@ -30,6 +30,7 @@ libc { __libc_alloca_cutoff; __libc_pthread_init; __pthread_cleanup_stack; + __pthread_total; } } diff --git a/htl/pt-create.c b/htl/pt-create.c index 0e840b8692..203b808591 100644 --- a/htl/pt-create.c +++ b/htl/pt-create.c @@ -36,12 +36,6 @@ # include <locale.h> #endif -/* The total number of pthreads currently active. This is defined - here since it would be really stupid to have a threads-using - program that doesn't call `pthread_create'. */ -unsigned int __pthread_total; - - /* The entry-point for new threads. */ static void entry_point (struct __pthread *self, void *(*start_routine) (void *), void *arg) diff --git a/htl/pt-internal.h b/htl/pt-internal.h index c3b1d75bb0..5179428ce7 100644 --- a/htl/pt-internal.h +++ b/htl/pt-internal.h @@ -165,6 +165,7 @@ __pthread_dequeue (struct __pthread *thread) /* The total number of threads currently active. */ extern unsigned int __pthread_total; +libc_hidden_proto (__pthread_total) /* Concurrency hint. */ extern int __pthread_concurrency; diff --git a/htl/pt-nthreads.c b/htl/pt-nthreads.c new file mode 100644 index 0000000000..9a6140eeff --- /dev/null +++ b/htl/pt-nthreads.c @@ -0,0 +1,23 @@ +/* Thread counter variable. + Copyright (C) 2021-2023 Free Software Foundation, Inc. + This file is part of the GNU C Library. + + The GNU C Library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <https://www.gnu.org/licenses/>. */ + +#include <pt-internal.h> + +/* Number of threads running. */ +unsigned int __pthread_total; +libc_hidden_data_def (__pthread_total) |