os-test > basic > pthread
Legend
| Outcomes | ||||||
|---|---|---|---|---|---|---|
| Good | Good | Missing optional | Outside libc | |||
| Partial | Extension | Previous posix | ||||
| Neutral | None | |||||
| Bad | Compile error | Incompatible | Missing header | Undeclared | Undefined reference | Unknown type |
Good. A cell is good if the declaration is present
in the header and can be linked with libc. This outcome means the test
succeeded with the appropriate -D_POSIX_C_SOURCE=202405 or
-D_XOPEN_SOURCE=800 feature macros and the standard
libraries libc, libpthread, libm, librt, and libxnet.
Missing optional. A cell is missing_optional if the test could not be compiled, but the declaration is optional in POSIX and need not be provided.
Outside libc. A cell is outside_libc if the test could be compiled, but had to be linked with another standard library than the ones prescribed by POSIX: libc, libpthread, libm, librt, and libxnet. This may not conform to POSIX depending on the linking options provided by getconf(1)/confstr(3).
Extension. A cell is extension if the test could
not be compiled with the _POSIX_C_SOURCE and
_XOPEN_SOURCE feature macros, but it could instead be
compiled with other system-specific feature macros that provide the
entire API. This outcome means the system header feature macro logic
does not support the latest POSIX.1-2024 standard and only receives
partial credit. This outcome typically indicates a declaration new to
POSIX.1-2024.
Previous posix. A cell is previous_posix if the
test could not be compiled with the
-D_POSIX_C_SOURCE=202405 or
-D_XOPEN_SOURCE=800 feature macros from the POSIX.1-2024
standard, but the test could instead be compiled with the older
-D_POSIX_C_SOURCE=200809L or
-D_XOPEN_SOURCE=700
feature macros from the older POSIX.1-2008 standard. This
outcome means the system header feature macro logic does not support
the latest POSIX.1-2024 standard and only receives partial credit. In
particular, the header did not check if the value was higher than the
supported value, but instead hard-coded the supported values, and
failed to be forward compatible with new standard versions.
None. A cell is none if there is no test data result for that operating system.
Compile error. A cell is compile_error if the test could not be compiled and the error message was not recognized as a more precise error test outcome.
Incompatible. A cell is incompatible if the declaration existed in the header, but had a signature that is incompatible with the standardized declaration. This outcome typically indicates a type error in the declaration. Addressing the issue may require an incompatible ABI change or special compatibility logic.
Missing header. A cell is missing_header if the header did not exist.
Undeclared. A cell is undeclared if the header did not contain the declaration.
Undefined reference. A cell is undefined if the test could be compiled, but could not be linked with the standard library.
Unknown type. A cell is unknown_type if the test could not be compiled and failed because a required type was not declared. In some cases, functions fail because the header omitted a required type for a function and instead declared the function in an alternate fashion with an incompatible alias for the type.
§. The § link on the left of each row links to that row.
pthread
| aix AIX 7.3 powerpc |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 15.0-RELEASE amd64 |
haiku Haiku hrev59326 Jan 20 2026 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.17.13+deb14-amd64 x86_64 |
macos macOS 26.2 Darwin 25.2.0 arm64 |
managarm Managarm 0.0.1-rolling x86_64 |
minix Minix 3.4.0 i386 |
musl Linux 6.12.54-0-lts x86_64 |
netbsd NetBSD 10.1 amd64 |
omnios SunOS 5.11 r151056 i386 |
openbsd OpenBSD 7.8 amd64 |
redox Redox 0.5.12 x86_64 |
solaris SunOS 5.11 11.4.89.207.2 sparc |
sortix Sortix 1.1.0-dev Dec 23 2025 x86_64 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| § pthread_attr_destroy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_attr_getdetachstate | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_attr_getguardsize | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_attr_getschedparam | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: unknown_type | solaris: good exit: 0 |
sortix: compile_error |
| § pthread_attr_init | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_attr_setdetachstate | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_attr_setguardsize | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_attr_setschedparam | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: unknown_type | solaris: good exit: 0 |
sortix: compile_error |
| § pthread_barrier_destroy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_barrier_init | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_barrier_wait | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_barrierattr_destroy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_barrierattr_init | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_cancel | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad exit: 142 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad [@relibc::platform::sys::signal:108 INFO] TODO: setitimer not implemented |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_cleanup_pop | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad exit: 142 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad [@relibc::platform::sys::signal:108 INFO] TODO: setitimer not implemented |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_cleanup_push | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad exit: 142 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad [@relibc::platform::sys::signal:108 INFO] TODO: setitimer not implemented |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_cond_broadcast | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_cond_clockwait | aix: undeclared | dragonfly: compile_error | freebsd: undeclared | haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: compile_error | netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: good exit: 0 |
solaris: compile_error | sortix: good exit: 0 |
| § pthread_cond_destroy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_cond_init | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_cond_signal | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_cond_timedwait | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_cond_wait | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_condattr_destroy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_condattr_getclock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: bad pthread_condattr_getclock: EINVAL |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_condattr_init | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_condattr_setclock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: bad pthread_condattr_getclock: EINVAL |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad could not set monotonic clock |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_create | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_detach | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_equal | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_exit | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_getspecific | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_join | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_key_create | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_key_delete | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_mutex_clocklock | aix: undeclared | dragonfly: compile_error | freebsd: undeclared | haiku: bad pthread_mutex_clocklock: EDEADLK |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: compile_error | netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: compile_error | solaris: compile_error | sortix: good exit: 0 |
| § pthread_mutex_consistent | aix: bad pthread_mutex_init: EINVAL |
dragonfly: compile_error | freebsd: good exit: 0 |
haiku: compile_error | hurd: bad Alarm clock exit: 142 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: bad [@relibc::platform::sys::signal:108 INFO] TODO: setitimer not implemented |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_mutex_destroy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_mutex_init | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_mutex_lock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_mutex_timedlock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_mutex_trylock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_mutex_unlock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_mutexattr_destroy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_mutexattr_getrobust | aix: good exit: 0 |
dragonfly: compile_error | freebsd: good exit: 0 |
haiku: compile_error | hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_mutexattr_gettype | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_mutexattr_init | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_mutexattr_setrobust | aix: good exit: 0 |
dragonfly: compile_error | freebsd: good exit: 0 |
haiku: compile_error | hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_mutexattr_settype | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_once | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlock_clockrdlock | aix: undeclared | dragonfly: compile_error | freebsd: undeclared | haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: compile_error | netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: compile_error | solaris: compile_error | sortix: good exit: 0 |
| § pthread_rwlock_clockwrlock | aix: undeclared | dragonfly: compile_error | freebsd: undeclared | haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: compile_error | netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: compile_error | solaris: compile_error | sortix: good exit: 0 |
| § pthread_rwlock_destroy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlock_init | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlock_rdlock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlock_timedrdlock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad hang |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlock_timedwrlock | aix: bad pthread_rwlock_timedwrlock did not time out |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad hang |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlock_tryrdlock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlock_trywrlock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlock_unlock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlock_wrlock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlockattr_destroy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_rwlockattr_init | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_self | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_setcancelstate | aix: good exit: 0 |
dragonfly: bad cancellation not at point |
freebsd: good exit: 0 |
haiku: bad initial main cancel state was disabled |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad initial main cancel state was disabled |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_setcanceltype | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad Alarm clock exit: 142 |
linux: good exit: 0 |
macos: bad exit: 142 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad pthread_join() != PTHREAD_CANCELED |
redox: bad [@relibc::platform::sys::signal:108 INFO] TODO: setitimer not implemented |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_setspecific | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: good exit: 0 |
| § pthread_spin_destroy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_spin_init | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_spin_lock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_spin_trylock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: bad pthread_spin_trylock: EDEADLK |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_spin_unlock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_testcancel | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad hang |
solaris: good exit: 0 |
sortix: compile_error |
|
Optional: MC1 Non-Robust Mutex Priority Protection or Non-Robust Mutex Priority Inheritance or Robust Mutex Priority Protection or Robust Mutex Priority Inheritance |
||||||||||||||||
| § pthread_mutexattr_getprotocol | aix: bad the default protocol was not none |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_mutexattr_setprotocol | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad pthread_mutexattr_setprotocol: EPERM |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
|
Optional: OB Obsolescent |
||||||||||||||||
| § pthread_atfork | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
|
Optional: RPP|TPP Robust Mutex Priority Protection or Non-Robust Mutex Priority Protection |
||||||||||||||||
| § pthread_mutex_getprioceiling | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad pthread_mutexattr_setprotocol: EPERM |
hurd: bad pthread_mutexattr_setprotocol: ENOTSUP |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: bad pthread_mutexattr_setprotocol: ENOTSUP |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad [@relibc::sync::pthread_mutex:65 INFO] TODO: pthread_getprioceiling: not implemented |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_mutex_setprioceiling | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad pthread_mutexattr_setprotocol: EPERM |
hurd: bad pthread_mutexattr_setprotocol: ENOTSUP |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: bad pthread_mutexattr_setprotocol: ENOTSUP |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad [@relibc::sync::pthread_mutex:69 INFO] TODO: pthread_setprioceiling: not implemented |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_mutexattr_getprioceiling | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad pthread_mutexattr_setprotocol: EPERM |
hurd: bad pthread_mutexattr_setprotocol: ENOTSUP |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: undefined | netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_mutexattr_setprioceiling | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad pthread_mutexattr_setprotocol: EPERM |
hurd: bad pthread_mutexattr_setprotocol: ENOTSUP |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: bad pthread_mutexattr_setprotocol: ENOTSUP |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
|
Optional: TCT Thread CPU-Time Clocks |
||||||||||||||||
| § pthread_getcpuclockid | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: compile_error | openbsd: good exit: 0 |
redox: bad pthread_getcpuclockid self: ENOENT |
solaris: good exit: 0 |
sortix: compile_error |
|
Optional: TPS Thread Execution Scheduling |
||||||||||||||||
| § pthread_attr_getinheritsched | aix: good exit: 0 |
dragonfly: bad default was not inheriting sched |
freebsd: good exit: 0 |
haiku: compile_error | hurd: bad default was not inheriting sched |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_attr_getschedpolicy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: compile_error | hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: bad default policy was not SCHED_OTHER |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_attr_getscope | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: bad default scope was not system |
omnios: bad default scope was not system |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: bad default scope was not system |
sortix: compile_error |
| § pthread_attr_setinheritsched | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: compile_error | hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: unknown_type | solaris: good exit: 0 |
sortix: undeclared |
| § pthread_attr_setschedpolicy | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: compile_error | hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: unknown_type | solaris: good exit: 0 |
sortix: compile_error |
| § pthread_attr_setscope | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: undeclared |
| § pthread_getschedparam | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: unknown_type | solaris: good exit: 0 |
sortix: compile_error |
| § pthread_setschedparam | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad pthread_setschedparam: ENOSYS |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: bad pthread_setschedparam: EINVAL |
omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: unknown_type | solaris: good exit: 0 |
sortix: compile_error |
| § pthread_setschedprio | aix: good exit: 0 |
dragonfly: compile_error | freebsd: undeclared | haiku: compile_error | hurd: bad pthread_setschedprio: ENOSYS |
linux: good exit: 0 |
macos: undeclared | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: bad pthread_setschedprio: EINVAL |
omnios: good exit: 0 |
openbsd: undeclared | redox: unknown_type | solaris: good exit: 0 |
sortix: compile_error |
|
Optional: TSA TSS Thread Stack Address Attribute and Thread Stack Size Attribute |
||||||||||||||||
| § pthread_attr_getstack | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: undeclared | linux: bad default stack size < PTHREAD_STACK_MIN (0) |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: bad pthread_attr_getstack: EINVAL |
netbsd: good exit: 0 |
omnios: undeclared | openbsd: good exit: 0 |
redox: undeclared | solaris: bad default stack size < PTHREAD_STACK_MIN (0) |
sortix: compile_error |
| § pthread_attr_setstack | aix: bad exit: 139 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: undeclared | linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: undeclared | openbsd: good exit: 0 |
redox: undeclared | solaris: good exit: 0 |
sortix: compile_error |
|
Optional: TSH Thread Process-Shared Synchronization |
||||||||||||||||
| § pthread_barrierattr_getpshared | aix: good exit: 0 |
dragonfly: bad pthread_barrierattr_setpshared: EINVAL |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad pthread_barrierattr_setpshared: ENOTSUP |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: bad pthread_barrierattr_setpshared: ENOTSUP |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_barrierattr_setpshared | aix: good exit: 0 |
dragonfly: bad pthread_barrierattr_setpshared: EINVAL |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad pthread_barrierattr_setpshared: ENOTSUP |
linux: good exit: 0 |
macos: unknown_type | managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: bad pthread_barrierattr_setpshared: ENOTSUP |
redox: bad hang |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_condattr_getpshared | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_condattr_setpshared | aix: good exit: 0 |
dragonfly: bad pthread_condattr_setpshared: EINVAL |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad pthread_condattr_setpshared: ENOTSUP |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: bad hang |
solaris: good exit: 0 |
sortix: undeclared |
| § pthread_mutexattr_getpshared | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_mutexattr_setpshared | aix: good exit: 0 |
dragonfly: bad pthread_mutexattr_setpshared: EINVAL |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: undeclared | redox: good exit: 0 |
solaris: good exit: 0 |
sortix: undeclared |
| § pthread_rwlockattr_getpshared | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: good exit: 0 |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: compile_error |
| § pthread_rwlockattr_setpshared | aix: good exit: 0 |
dragonfly: bad pthread_rwlockattr_setpshared: EINVAL |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad pthread_rwlockattr_setpshared: ENOTSUP |
linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: compile_error | omnios: good exit: 0 |
openbsd: bad pthread_rwlockattr_setpshared: EINVAL |
redox: good exit: 0 |
solaris: good exit: 0 |
sortix: undeclared |
|
Optional: TSS Thread Stack Size Attribute |
||||||||||||||||
| § pthread_attr_getstacksize | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: undeclared | linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: undeclared | openbsd: good exit: 0 |
redox: undeclared | solaris: bad default stack size < PTHREAD_STACK_MIN (0) |
sortix: good exit: 0 |
| § pthread_attr_setstacksize | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad exit: 139 |
haiku: good exit: 0 |
hurd: undeclared | linux: good exit: 0 |
macos: good exit: 0 |
managarm: none | minix: missing_header | musl: good exit: 0 |
netbsd: good exit: 0 |
omnios: undeclared | openbsd: good exit: 0 |
redox: undeclared | solaris: good exit: 0 |
sortix: good exit: 0 |