diff options
author | Bruno Haible <bruno@clisp.org> | 2021-07-17 18:20:36 +0200 |
---|---|---|
committer | Bruno Haible <bruno@clisp.org> | 2021-07-17 18:20:36 +0200 |
commit | 12b5b00f93c6433c3df8176fc9674d7600f8b268 (patch) | |
tree | be5e4302810d0367b4beb0cda9ab81048229603d /lib/glthread/tls.h | |
parent | 18a9101c9f60bdc8f59da27cc1c6a161abd02c9d (diff) | |
download | gnulib-12b5b00f93c6433c3df8176fc9674d7600f8b268.tar.gz |
Don't use '#pragma weak' for thread functions in Linux/glibc>=2.34.
Suggested by Florian Weimer <fweimer@redhat.com> in
<https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00211.html>.
* m4/threadlib.m4 (gl_PTHREADLIB_BODY): Set gl_pthread_in_glibc and set
LIBPMULTITHREAD accordingly.
(gl_STDTHREADLIB_BODY): Update comments.
(gl_THREADLIB_BODY): Define USE_POSIX_THREADS_FROM_LIBC.
* lib/glthread/thread.h (c11_threads_in_use): Define to 1 if all POSIX
thread functions are in libc.
* lib/glthread/lock.h (c11_threads_in_use): Likewise.
* lib/glthread/cond.h (c11_threads_in_use): Likewise.
* lib/glthread/tls.h (c11_threads_in_use): Likewise.
Diffstat (limited to 'lib/glthread/tls.h')
-rw-r--r-- | lib/glthread/tls.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/glthread/tls.h b/lib/glthread/tls.h index 9c2a2803c5..aaaa4b6729 100644 --- a/lib/glthread/tls.h +++ b/lib/glthread/tls.h @@ -47,7 +47,9 @@ #include <stdlib.h> #if !defined c11_threads_in_use -# if HAVE_THREADS_H && USE_POSIX_THREADS_WEAK +# if HAVE_THREADS_H && USE_POSIX_THREADS_FROM_LIBC +# define c11_threads_in_use() 1 +# elif HAVE_THREADS_H && USE_POSIX_THREADS_WEAK # include <threads.h> # pragma weak thrd_exit # define c11_threads_in_use() (thrd_exit != NULL) |