Sortix
Sortix Download Manual Development Source Code News Blog More

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
Copyright 2011-2026 Jonas 'Sortie' Termansen and contributors.
Sortix's source code is free software under the ISC license.
#sortix on irc.sortix.org
@sortix_org