intprops: new macro INT_PROMOTE
[gnulib.git] / doc / posix-headers / threads.texi
blob302242182388d4b0a48c404444f4cbe1dffbfc84
1 @node threads.h
2 @section @file{threads.h}
4 ISO C23 specification:@* @url{https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf} section 7.28.
6 POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/threads.h.html}
8 Defines the multithreading facility of ISO C11.
10 Gnulib module: threads-h
11 @mindex threads-h
13 Portability problems fixed by Gnulib:
14 @itemize
15 @item
16 This header file is missing on many platforms:
17 glibc 2.27, macOS 14, FreeBSD 9.3, NetBSD 8.0, OpenBSD 7.5, Minix 3.1.8, AIX 7.1, HP-UX 11.31, Solaris 11.3, Cygwin 2.2.x, mingw, MSVC 14, Android 9.0.
18 @item
19 This header file defines @code{thrd_start_t} incorrectly on some platforms:
20 AIX 7.2.
21 @item
22 This header file does not define @code{TSS_DTOR_ITERATIONS} on some platforms:
23 AIX 7.2.
24 @end itemize
26 Portability problems not fixed by Gnulib:
27 @itemize
28 @item
29 There is no way to define a working @code{thread_local} macro on some platforms:
30 @itemize
31 @item
32 Mac OS X 10.5,
33 @item
34 OpenBSD 6.5,
35 @item
36 AIX 7.1 with gcc (but it works with @samp{xlc -qthreaded -qtls}),
37 @item
38 HP-UX 11.31 with cc (but it works with gcc),
39 @item
40 Android 4.3.
41 @end itemize
42 @end itemize