| @node threads.h | |
| @section @file{threads.h} | |
| ISO C23 specification:@* @url{https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3220.pdf} section 7.28. | |
| POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/threads.h.html} | |
| Defines the multithreading facility of ISO C11. | |
| Gnulib module: threads-h | |
| @mindex threads-h | |
| Portability problems fixed by Gnulib: | |
| @itemize | |
| @item | |
| This header file is missing on many platforms: | |
| 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. | |
| @item | |
| This header file defines @code{thrd_start_t} incorrectly on some platforms: | |
| AIX 7.2. | |
| @item | |
| This header file does not define @code{TSS_DTOR_ITERATIONS} on some platforms: | |
| AIX 7.2. | |
| @end itemize | |
| Portability problems not fixed by Gnulib: | |
| @itemize | |
| @item | |
| There is no way to define a working @code{thread_local} macro on some platforms: | |
| @itemize | |
| @item | |
| Mac OS X 10.5, | |
| @item | |
| OpenBSD 6.5, | |
| @item | |
| AIX 7.1 with gcc (but it works with @samp{xlc -qthreaded -qtls}), | |
| @item | |
| HP-UX 11.31 with cc (but it works with gcc), | |
| @item | |
| Android 4.3. | |
| @end itemize | |
| @end itemize |