os-test
os-test is a set of test suites for POSIX operating systems designed to make it easy to compare differences between operating systems and to find operating system bugs. It consists of test suites that focus on different operating system areas.
This page visualizes the results for the POSIX operating systems free are relevant today.
Source Code
The os-test source code is available on gitlab. You also can view the source code for each test by clicking the test title in the leftmost entry of each row. os-test is licensed under the ISC license, see the LICENSE file in the source code for details.
Please feel free to contribute more tests and suites and I'll be happy to run them on every operating system and publish the data.
Setup
I run os-test on my host Linux system; AIX and macOS are graciously provided by cfarm; and the rest of the systems run in qemu virtual machines. The testing harness connects to each machine over ssh and runs tests there. The systems are:
- AIX
- DragonFly
- FreeBSD
- Haiku
- Hurd
- Linux
- macOS
- Minix
- NetBSD
- OpenBSD
- OmniOS Community Edition
- Sortix
I'm still looking for access to LynxOS, HP-UX, QNX, and z/OS systems, or any other relevant maintained POSIX systems with a sshd port. Please get in touch if you can help.
Legend
Unanimous | Result kind 1 | Result kind 2 | Result kind 3 | Result kind 4 | Result kind 5 | |
---|---|---|---|---|---|---|
Good | Good unanimous | Good result kind 1 | Good result kind 2 | Good result kind 3 | Good result kind 4 | Good result kind 5 |
Unknown | Unknown unanimous | Unknown result kind 1 | Unknown result kind 2 | Unknown result kind 3 | Unknown result kind 4 | Unknown result kind 5 |
Bad | Bad unanimous | Bad result kind 1 | Bad result kind 2 | Bad result kind 3 | Bad result kind 4 | Bad result kind 5 |
Good. A cell is good if its output belongs to the set of expected valid outputs for that test, as determined by the applicable standards, specifications, expected behavior, or the interpretation of the os-test authors. If all the good results in a row have the same output, all the good result cells are colored in the unanimous color. Otherwise, each different kind of good outcome is colored in an unique color.
Unknown. A cell is unknown if the output is known, but it has not yet been determined if the output is a good result. If all the unknown results in a row have the same output, all the unknown result cells are colored in the unanimous color. Otherwise, each different kind of unknown outcome is colored in an unique color.
Bad. A cell is bad if its output is neither good nor unknown. If all the bad results in a row have the same output, all the bad result cells are colored in the unanimous color. Otherwise, each different kind of bad outcome is colored in an unique color.
§. The § link on the left of each row links to that row.
Suites
os-test currently contains these suites:
- io - This suite tests input/output system calls.
- malloc - This suite tests memory allocation.
- signal - This suite tests signal system calls.
- udp - This suite tests the UDP stack.
io
This suite tests input/output system calls.
aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.1-RELEASE amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.11.4-amd64 x86_64 |
macos Darwin 24.1.0 arm64 |
minix Minix 3.4.0 i386 |
netbsd NetBSD 10.0 amd64 |
openbsd OpenBSD 7.6 amd64 |
openindiana-omnios SunOS 5.11 i86pc |
sortix Sortix 1.1dev x86_64 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
§ open-mkstemp-rdonly | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ open-mkstemp-rdonly-directory | aix: good open: ENOTDIR |
dragonfly: good open: ENOTDIR |
freebsd: good open: ENOTDIR |
haiku: good open: ENOTDIR |
hurd: good open: ENOTDIR |
linux: good open: ENOTDIR |
macos: good open: ENOTDIR |
minix: bad exit: 0 |
netbsd: good open: ENOTDIR |
openbsd: good open: ENOTDIR |
openindiana-omnios: good open: ENOTDIR |
sortix: good open: ENOTDIR |
§ open-mkstemp-rdonly-trunc | aix: good file was truncated |
dragonfly: good open: EACCES |
freebsd: good file was truncated |
haiku: good open: EPERM |
hurd: good open: EINVAL |
linux: good file was truncated |
macos: good file was truncated |
minix: good file was truncated |
netbsd: good file was truncated |
openbsd: good open: EINVAL |
openindiana-omnios: good file was truncated |
sortix: good open: EINVAL |
§ open-mkstemp-rdonly-trunc-directory | aix: good open: ENOTDIR |
dragonfly: good open: EACCES |
freebsd: good open: ENOTDIR |
haiku: good open: ENOTDIR |
hurd: good open: ENOTDIR |
linux: good open: ENOTDIR |
macos: good open: ENOTDIR |
minix: bad file was truncated |
netbsd: good open: ENOTDIR |
openbsd: good open: EINVAL |
openindiana-omnios: good open: ENOTDIR |
sortix: good open: EINVAL |
§ open-mkstemp-wronly-directory | aix: good open: ENOTDIR |
dragonfly: good open: ENOTDIR |
freebsd: good open: ENOTDIR |
haiku: good open: ENOTDIR |
hurd: good open: ENOTDIR |
linux: good open: ENOTDIR |
macos: good open: ENOTDIR |
minix: bad exit: 0 |
netbsd: good open: ENOTDIR |
openbsd: good open: ENOTDIR |
openindiana-omnios: good open: ENOTDIR |
sortix: good open: ENOTDIR |
§ open-mkstemp-wronly-trunc-directory | aix: good open: ENOTDIR |
dragonfly: good open: ENOTDIR |
freebsd: good open: ENOTDIR |
haiku: good open: ENOTDIR |
hurd: good open: ENOTDIR |
linux: good open: ENOTDIR |
macos: good open: ENOTDIR |
minix: bad file was truncated |
netbsd: good open: ENOTDIR |
openbsd: good open: ENOTDIR |
openindiana-omnios: good open: ENOTDIR |
sortix: good open: EINVAL |
§ open-tmpdir-rdonly | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ open-tmpdir-rdonly-append | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ open-tmpdir-rdonly-creat | aix: bad exit: 0 |
dragonfly: bad open: EINVAL |
freebsd: good open: EISDIR |
haiku: bad exit: 0 |
hurd: bad exit: 0 |
linux: good open: EISDIR |
macos: bad exit: 0 |
minix: bad exit: 0 |
netbsd: bad exit: 0 |
openbsd: bad exit: 0 |
openindiana-omnios: bad exit: 0 |
sortix: good open: EISDIR |
§ open-tmpdir-rdonly-directory | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ open-tmpdir-rdonly-trunc | aix: good open: EISDIR |
dragonfly: good open: EACCES |
freebsd: good open: EISDIR |
haiku: good open: EPERM |
hurd: good open: EINVAL |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good exit: 0 |
netbsd: good open: EISDIR |
openbsd: good open: EINVAL |
openindiana-omnios: good open: EISDIR |
sortix: good open: EINVAL |
§ open-tmpdir-rdwr | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
openbsd: good open: EISDIR |
openindiana-omnios: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-rdwr-append | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
openbsd: good open: EISDIR |
openindiana-omnios: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-rdwr-creat | aix: good open: EISDIR |
dragonfly: bad open: EINVAL |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
openbsd: good open: EISDIR |
openindiana-omnios: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-rdwr-directory | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
openbsd: good open: EISDIR |
openindiana-omnios: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-rdwr-trunc | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
openbsd: good open: EISDIR |
openindiana-omnios: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-wronly | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
openbsd: good open: EISDIR |
openindiana-omnios: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-wronly-append | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
openbsd: good open: EISDIR |
openindiana-omnios: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-wronly-creat | aix: good open: EISDIR |
dragonfly: bad open: EINVAL |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
openbsd: good open: EISDIR |
openindiana-omnios: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-wronly-directory | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
openbsd: good open: EISDIR |
openindiana-omnios: good open: EISDIR |
sortix: good open: EISDIR |
§ open-tmpdir-wronly-trunc | aix: good open: EISDIR |
dragonfly: good open: EISDIR |
freebsd: good open: EISDIR |
haiku: good open: EISDIR |
hurd: good open: EISDIR |
linux: good open: EISDIR |
macos: good open: EISDIR |
minix: good open: EISDIR |
netbsd: good open: EISDIR |
openbsd: good open: EISDIR |
openindiana-omnios: good open: EISDIR |
sortix: good open: EISDIR |
malloc
This suite tests memory allocation.
aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.1-RELEASE amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.11.4-amd64 x86_64 |
macos Darwin 24.1.0 arm64 |
minix Minix 3.4.0 i386 |
netbsd NetBSD 10.0 amd64 |
openbsd OpenBSD 7.6 amd64 |
openindiana-omnios SunOS 5.11 i86pc |
sortix Sortix 1.1dev x86_64 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
§ malloc-0 | aix: good NULL |
dragonfly: good non-NULL |
freebsd: good non-NULL |
haiku: good non-NULL |
hurd: good non-NULL |
linux: good non-NULL |
macos: good non-NULL |
minix: good non-NULL |
netbsd: good non-NULL |
openbsd: good non-NULL |
openindiana-omnios: good non-NULL |
sortix: good non-NULL |
§ realloc-0 | aix: bad realloc: EINVAL |
dragonfly: good non-NULL |
freebsd: good non-NULL |
haiku: good NULL |
hurd: good NULL |
linux: good NULL |
macos: good non-NULL |
minix: good non-NULL |
netbsd: good non-NULL |
openbsd: good non-NULL |
openindiana-omnios: good NULL |
sortix: good non-NULL |
§ realloc-null-0 | aix: good NULL |
dragonfly: good non-NULL |
freebsd: good non-NULL |
haiku: good non-NULL |
hurd: good non-NULL |
linux: good non-NULL |
macos: good non-NULL |
minix: good non-NULL |
netbsd: good non-NULL |
openbsd: good non-NULL |
openindiana-omnios: good non-NULL |
sortix: good non-NULL |
signal
This suite tests signal system calls.
aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.1-RELEASE amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.11.4-amd64 x86_64 |
macos Darwin 24.1.0 arm64 |
minix Minix 3.4.0 i386 |
netbsd NetBSD 10.0 amd64 |
openbsd OpenBSD 7.6 amd64 |
openindiana-omnios SunOS 5.11 i86pc |
sortix Sortix 1.1dev x86_64 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
§ block-chld-default-rehandle-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad SIGCHLD |
linux: good exit: 0 |
macos: good exit: 0 |
minix: bad SIGCHLD |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ block-chld-default-unblock | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ block-chld-unblock | aix: good SIGCHLD |
dragonfly: good SIGCHLD |
freebsd: good SIGCHLD |
haiku: good SIGCHLD |
hurd: good SIGCHLD |
linux: good SIGCHLD |
macos: good SIGCHLD |
minix: good SIGCHLD |
netbsd: good SIGCHLD |
openbsd: good SIGCHLD |
openindiana-omnios: good SIGCHLD |
sortix: good SIGCHLD |
§ block-ignore-raise-ignore-unignore-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad SIGUSR1 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ block-ignore-raise-unblock | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ block-ignore-raise-unignore-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good SIGUSR1 |
hurd: good SIGUSR1 |
linux: good SIGUSR1 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good SIGUSR1 |
sortix: good exit: 0 |
§ block-raise | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ block-raise-handle-unblock | aix: good SIGUSR1 |
dragonfly: good SIGUSR1 |
freebsd: good SIGUSR1 |
haiku: good SIGUSR1 |
hurd: good SIGUSR1 |
linux: good SIGUSR1 |
macos: good SIGUSR1 |
minix: good SIGUSR1 |
netbsd: good SIGUSR1 |
openbsd: good SIGUSR1 |
openindiana-omnios: good SIGUSR1 |
sortix: good SIGUSR1 |
§ block-raise-ignore-unignore-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good exit: 0 |
hurd: bad SIGUSR1 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ block-raise-unblock | aix: good SIGUSR1 |
dragonfly: good SIGUSR1 |
freebsd: good SIGUSR1 |
haiku: good SIGUSR1 |
hurd: good SIGUSR1 |
linux: good SIGUSR1 |
macos: good SIGUSR1 |
minix: good SIGUSR1 |
netbsd: good SIGUSR1 |
openbsd: good SIGUSR1 |
openindiana-omnios: good SIGUSR1 |
sortix: good SIGUSR1 |
§ default-chld-exec | aix: good SIG_DFL |
dragonfly: good SIG_DFL |
freebsd: good SIG_DFL |
haiku: good SIG_DFL |
hurd: good SIG_DFL |
linux: good SIG_DFL |
macos: good SIG_DFL |
minix: good SIG_DFL |
netbsd: good SIG_DFL |
openbsd: good SIG_DFL |
openindiana-omnios: good SIG_DFL |
sortix: good SIG_DFL |
§ default-usr1-exec | aix: good SIG_DFL |
dragonfly: good SIG_DFL |
freebsd: good SIG_DFL |
haiku: good SIG_DFL |
hurd: good SIG_DFL |
linux: good SIG_DFL |
macos: good SIG_DFL |
minix: good SIG_DFL |
netbsd: good SIG_DFL |
openbsd: good SIG_DFL |
openindiana-omnios: good SIG_DFL |
sortix: good SIG_DFL |
§ handle-chld-exec | aix: good SIG_DFL |
dragonfly: good SIG_DFL |
freebsd: good SIG_DFL |
haiku: good SIG_DFL |
hurd: good SIG_DFL |
linux: good SIG_DFL |
macos: good SIG_DFL |
minix: good SIG_DFL |
netbsd: good SIG_DFL |
openbsd: good SIG_DFL |
openindiana-omnios: good SIG_DFL |
sortix: good SIG_DFL |
§ handle-usr1-exec | aix: good SIG_DFL |
dragonfly: good SIG_DFL |
freebsd: good SIG_DFL |
haiku: good SIG_DFL |
hurd: good SIG_DFL |
linux: good SIG_DFL |
macos: good SIG_DFL |
minix: good SIG_DFL |
netbsd: good SIG_DFL |
openbsd: good SIG_DFL |
openindiana-omnios: good SIG_DFL |
sortix: good SIG_DFL |
§ ignore-block-raise | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ ignore-block-raise-unignore-unblock | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: good SIGUSR1 |
hurd: good SIGUSR1 |
linux: good SIGUSR1 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good SIGUSR1 |
sortix: good exit: 0 |
§ ignore-chld-exec | aix: good SIG_IGN |
dragonfly: good SIG_DFL |
freebsd: good SIG_DFL |
haiku: good SIG_IGN |
hurd: good SIG_IGN |
linux: good SIG_IGN |
macos: good SIG_IGN |
minix: good SIG_IGN |
netbsd: good SIG_DFL |
openbsd: good SIG_DFL |
openindiana-omnios: good SIG_DFL |
sortix: good SIG_IGN |
§ ignore-raise | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ ignore-raise-unignore | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ ignore-usr1-exec | aix: good SIG_IGN |
dragonfly: good SIG_IGN |
freebsd: good SIG_IGN |
haiku: good SIG_IGN |
hurd: good SIG_IGN |
linux: good SIG_IGN |
macos: good SIG_IGN |
minix: good SIG_IGN |
netbsd: good SIG_IGN |
openbsd: good SIG_IGN |
openindiana-omnios: good SIG_IGN |
sortix: good SIG_IGN |
§ raise | aix: good SIGUSR1 |
dragonfly: good SIGUSR1 |
freebsd: good SIGUSR1 |
haiku: good SIGUSR1 |
hurd: good SIGUSR1 |
linux: good SIGUSR1 |
macos: good SIGUSR1 |
minix: good SIGUSR1 |
netbsd: good SIGUSR1 |
openbsd: good SIGUSR1 |
openindiana-omnios: good SIGUSR1 |
sortix: good SIGUSR1 |
§ sigaction-exec-flags | aix: unknown 0 | SA_RESETHAND | SA_RESTART | SA_NODEFER |
dragonfly: unknown 0 | SA_RESETHAND | SA_RESTART | SA_SIGINFO | SA_NODEFER |
freebsd: unknown 0 | SA_RESETHAND | SA_RESTART | SA_NODEFER |
haiku: unknown 0 |
hurd: unknown 0 | SA_RESTART |
linux: unknown 0 |
macos: unknown 0 | SA_RESTART | SA_SIGINFO | SA_NODEFER |
minix: unknown 0 | SA_RESETHAND | SA_RESTART | SA_NODEFER |
netbsd: unknown 0 | SA_RESTART |
openbsd: unknown 0 | SA_RESETHAND | SA_RESTART | SA_SIGINFO | SA_NODEFER |
openindiana-omnios: unknown 0 |
sortix: unknown 0 |
§ sigaltstack-exec | aix: good ss_sp==NULL SS_DISABLE |
dragonfly: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
freebsd: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
haiku: good ss_sp==NULL SS_DISABLE |
hurd: good ss_sp==NULL SS_DISABLE |
linux: good ss_sp==NULL SS_DISABLE |
macos: good ss_sp==NULL SS_DISABLE |
minix: bad sigaltstack |
netbsd: good ss_sp==NULL SS_DISABLE |
openbsd: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
openindiana-omnios: good ss_sp==NULL SS_DISABLE |
sortix: good ss_sp==NULL SS_DISABLE |
§ sigaltstack-raise | aix: good ss_sp!=NULL SS_ONSTACK |
dragonfly: good ss_sp!=NULL SS_ONSTACK |
freebsd: good ss_sp!=NULL SS_ONSTACK |
haiku: good ss_sp!=NULL SS_ONSTACK |
hurd: good ss_sp!=NULL SS_ONSTACK |
linux: good ss_sp!=NULL SS_ONSTACK |
macos: good ss_sp!=NULL SS_ONSTACK |
minix: bad sigaltstack |
netbsd: good ss_sp!=NULL SS_ONSTACK |
openbsd: good ss_sp!=NULL SS_ONSTACK |
openindiana-omnios: good ss_sp!=NULL SS_ONSTACK |
sortix: good ss_sp!=NULL SS_ONSTACK |
§ sigaltstack-raise-exec | aix: good ss_sp==NULL SS_DISABLE |
dragonfly: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
freebsd: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
haiku: good ss_sp==NULL SS_DISABLE |
hurd: good ss_sp==NULL SS_DISABLE |
linux: good ss_sp==NULL SS_DISABLE |
macos: good ss_sp==NULL SS_DISABLE |
minix: bad sigaltstack |
netbsd: good ss_sp==NULL SS_DISABLE |
openbsd: bad ss_sp==NULL SA_ONSTACK SS_DISABLE |
openindiana-omnios: good ss_sp==NULL SS_DISABLE |
sortix: good ss_sp==NULL SS_DISABLE |
udp
This suite tests the UDP stack.
Open questions:
- What should happen if you bind to the broadcast address 255.255.255.255? It is an explicitly forbidden source address. Should it fail with EADDRNOTAVAIL, or some other error, or succeed (and in which case, what does it mean?). (bind-broadcast-0-getpeername, bind-broadcast-0-getsockname)
- What should happen if you connect to the broadcast address 255.255.255.255? Must SO_BROADCAST be set first? (connect-broadcast-getpeername-so-broadcast, connect-broadcast-getpeername, connect-broadcast-getsockname-so-broadcast, connect-broadcast-getsockname)
- What should happen if you bind to the first address in the lan subnet? (bind-lan-subnet-first)
- What should happen if you connect to the any address 0.0.0.0? Is it the same as connecting to the loopback address? (connect-any-getpeername and connect-any-getsockname)
- What should happen if you connect to port 0? Does connecting to port 0 unconnect the socket on DragonFly and Linux? (connect-any-0-getpeername, connect-any-0-getsockname, connect-loopback-0-getpeername, connect-loopback-0-getsockname)
- What should happen if you send to the any address 0.0.0.0? (sendto-any-so-error)
- What should happen if you send to port 0? (sendto-loopback-0-so-error)
- Should it be possible to shutdown a socket without having connected it?
- Should reading on a socket shutdown for read return 0 or should it fail with EWOULDBLOCK?
- Should writing to socket shutdown for write send SIGPIPE in addition to failing with ESPIPE?
- After shutdown for read, should data already received be avalilable for read? Some systems deliver already received asyncronous errors after shutdown, yet don't deliver already received data after shutdown.
- After shutdown for read, should data be received? Should POLLIN be set if data is received yet recv of it would return 0.
- Should POLLOUT be set after shutdown for write? Should POLLHUP be set?
- Should POLLIN be set after shutdown for write if there's already received data?
- If an asynchronous socket error is pending, which of POLLIN, POLLOUT, POLLERR should be set?
- Should asynchronous socket errors be delivered on connect?
- What should happen if you connect to an address on the loopback interface and then reconnect to the public internet? What happens to the locally bound address? Is the socket rebound? Or does the connect fail because there's no longer a valid route from the loopback interface to the public internet.
- If a socket is connected, can you supply a destination address to sendto? What if the destination address is the current remote address?
- What is the local socket name after connect to loopback and then unconnect?
- How does unconnecting work? Can you pass a
sa_family_t
set toAF_UNSPEC
to connect, or do you need to wrap it in astruct sockaddr
, or astruct sockaddr_in
? - What happens if you bind after unconnect?
- Does unconnect on a freshly made socket bind the socket? (unconnect-getsockname)
- Can you unconnect a socket that hasn't been connected yet? (unconnect-getsockname)
- If a socket is shutdown for read, should recv return any data received after the shutdown.
- If you receive on freshly made socket, what address should getsockname return?
- Can you bind to the any address in the loopback network? (bind-loopback-other)
- Can you bind to the broadcast address in the loopback network? (bind-loopback-broadcast)
- Does SO_REUSEADDR need to set on both sockets or just the second? (bind-conflict-any-loopback-so-reuseaddr, bind-conflict-any-loopback-so-reuseaddr-both)
- Does SO_REUSEADDR allow the same address and port to be bound twice? (bind-conflict-loopback-loopback-so-reuseaddr, bind-conflict-loopback-loopback-so-reuseaddr-both)
Running this suite has the following side effects:
- Datagrams containing just the byte 'x' are sent to 8.8.8.8:53 (Google DNS)
because I needed a legitimate address that would not send back any ICMP
connection refused address. Please configure this address in udp/udp.h using
BLACKHOLE_HOST
andBLACKHOLE_PORT
to a site of your choice. - Datagrams containing just the byte 'x' are sent to port 65534 and port 65535 on the loopback address 127.0.0.1.
- This suite requires port 65535 on the loopback address 127.0.0.1 to be unused.
- UDP sockets will be bound to the loopback interface and on the interface leading to the public internet.
aix AIX 3 00F9C1964C00 |
dragonfly DragonFly 6.4-RELEASE x86_64 |
freebsd FreeBSD 14.1-RELEASE amd64 |
haiku Haiku 1 x86_64 |
hurd GNU 0.9 i686-AT386 |
linux Linux 6.11.4-amd64 x86_64 |
macos Darwin 24.1.0 arm64 |
minix Minix 3.4.0 i386 |
netbsd NetBSD 10.0 amd64 |
openbsd OpenBSD 7.6 amd64 |
openindiana-omnios SunOS 5.11 i86pc |
sortix Sortix 1.1dev x86_64 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
§ accept | aix: good accept: ENOTSUP |
dragonfly: bad accept: EINVAL |
freebsd: bad accept: EINVAL |
haiku: bad accept: EINVAL |
hurd: good accept: ENOTSUP |
linux: good accept: ENOTSUP |
macos: good accept: ENOTSUP |
minix: good accept: ENOTSUP |
netbsd: good accept: ENOTSUP |
openbsd: bad accept: EINVAL |
openindiana-omnios: good accept: ENOTSUP |
sortix: good accept: ENOTSUP |
§ accept-nonblock | aix: good accept: ENOTSUP |
dragonfly: bad accept: EINVAL |
freebsd: bad accept: EINVAL |
haiku: bad accept: EINVAL |
hurd: good accept: ENOTSUP |
linux: good accept: ENOTSUP |
macos: good accept: ENOTSUP |
minix: good accept: ENOTSUP |
netbsd: good accept: ENOTSUP |
openbsd: bad accept: EINVAL |
openindiana-omnios: good accept: ENOTSUP |
sortix: good accept: ENOTSUP |
§ bind-any-0 | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ bind-any-0-getpeername | aix: good getsockname: ENOTCONN |
dragonfly: good getsockname: ENOTCONN |
freebsd: good getsockname: ENOTCONN |
haiku: good getsockname: ENOTCONN |
hurd: good getsockname: ENOTCONN |
linux: good getsockname: ENOTCONN |
macos: good getsockname: ENOTCONN |
minix: good getsockname: ENOTCONN |
netbsd: good getsockname: ENOTCONN |
openbsd: good getsockname: ENOTCONN |
openindiana-omnios: good getsockname: ENOTCONN |
sortix: good getsockname: ENOTCONN |
§ bind-any-0-getsockname | aix: good 0.0.0.0:non-zero |
dragonfly: good 0.0.0.0:non-zero |
freebsd: good 0.0.0.0:non-zero |
haiku: good 0.0.0.0:non-zero |
hurd: good 0.0.0.0:non-zero |
linux: good 0.0.0.0:non-zero |
macos: good 0.0.0.0:non-zero |
minix: good 0.0.0.0:non-zero |
netbsd: good 0.0.0.0:non-zero |
openbsd: good 0.0.0.0:non-zero |
openindiana-omnios: good 0.0.0.0:non-zero |
sortix: good 0.0.0.0:non-zero |
§ bind-any-0-unbind | aix: good bind AF_UNSPEC: EINVAL |
dragonfly: good bind AF_UNSPEC: EINVAL |
freebsd: good bind AF_UNSPEC: EINVAL |
haiku: good bind AF_UNSPEC: EINVAL |
hurd: good bind AF_UNSPEC: EINVAL |
linux: good bind AF_UNSPEC: EINVAL |
macos: good bind AF_UNSPEC: EINVAL |
minix: good bind AF_UNSPEC: EINVAL |
netbsd: good bind AF_UNSPEC: EAFNOSUPPORT |
openbsd: good bind AF_UNSPEC: EINVAL |
openindiana-omnios: good bind AF_UNSPEC: EINVAL |
sortix: good bind AF_UNSPEC: EINVAL |
§ bind-broadcast-0-getpeername | aix: unknown bind: EADDRNOTAVAIL |
dragonfly: unknown bind: EADDRNOTAVAIL |
freebsd: unknown bind: EADDRNOTAVAIL |
haiku: unknown bind: EADDRNOTAVAIL |
hurd: unknown getpeername: ENOTCONN |
linux: unknown getpeername: ENOTCONN |
macos: unknown bind: EADDRNOTAVAIL |
minix: unknown bind: EADDRNOTAVAIL |
netbsd: unknown bind: EADDRNOTAVAIL |
openbsd: unknown getpeername: ENOTCONN |
openindiana-omnios: unknown getpeername: ENOTCONN |
sortix: unknown getpeername: ENOTCONN |
§ bind-broadcast-0-getsockname | aix: unknown bind: EADDRNOTAVAIL |
dragonfly: unknown bind: EADDRNOTAVAIL |
freebsd: unknown bind: EADDRNOTAVAIL |
haiku: unknown bind: EADDRNOTAVAIL |
hurd: unknown 255.255.255.255:non-zero |
linux: unknown 255.255.255.255:non-zero |
macos: unknown bind: EADDRNOTAVAIL |
minix: unknown bind: EADDRNOTAVAIL |
netbsd: unknown bind: EADDRNOTAVAIL |
openbsd: unknown 255.255.255.255:non-zero |
openindiana-omnios: unknown 255.255.255.255:non-zero |
sortix: unknown 255.255.255.255:non-zero |
§ bind-conflict-any-any | aix: good second bind: EADDRINUSE |
dragonfly: good second bind: EADDRINUSE |
freebsd: good second bind: EADDRINUSE |
haiku: good second bind: EADDRINUSE |
hurd: good second bind: EADDRINUSE |
linux: good second bind: EADDRINUSE |
macos: good second bind: EADDRINUSE |
minix: good second bind: EADDRINUSE |
netbsd: good second bind: EADDRINUSE |
openbsd: good second bind: EADDRINUSE |
openindiana-omnios: good second bind: EADDRINUSE |
sortix: good second bind: EADDRINUSE |
§ bind-conflict-any-any-so-reuseaddr | aix: unknown second bind: EADDRINUSE |
dragonfly: unknown second bind: EADDRINUSE |
freebsd: unknown second bind: EADDRINUSE |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown second bind: EADDRINUSE |
minix: unknown second bind: EADDRINUSE |
netbsd: unknown second bind: EADDRINUSE |
openbsd: unknown second bind: EADDRINUSE |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-any-any-so-reuseaddr-both | aix: unknown second bind: EADDRINUSE |
dragonfly: unknown second bind: EADDRINUSE |
freebsd: unknown second bind: EADDRINUSE |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRINUSE |
minix: unknown exit: 0 |
netbsd: unknown second bind: EADDRINUSE |
openbsd: unknown second bind: EADDRINUSE |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-any-broadcast | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
openbsd: unknown second bind: EADDRINUSE |
openindiana-omnios: unknown second bind: EADDRINUSE |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-any-broadcast-so-reuseaddr | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-any-broadcast-so-reuseaddr-both | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: unknown second bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-any-loopback | aix: good second bind: EADDRINUSE |
dragonfly: good second bind: EADDRINUSE |
freebsd: good second bind: EADDRINUSE |
haiku: good second bind: EADDRINUSE |
hurd: good second bind: EADDRINUSE |
linux: good second bind: EADDRINUSE |
macos: good second bind: EADDRINUSE |
minix: bad exit: 0 |
netbsd: good second bind: EADDRINUSE |
openbsd: good second bind: EADDRINUSE |
openindiana-omnios: good second bind: EADDRINUSE |
sortix: good second bind: EADDRINUSE |
§ bind-conflict-any-loopback-so-reuseaddr | aix: unknown exit: 0 |
dragonfly: unknown exit: 0 |
freebsd: unknown exit: 0 |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown exit: 0 |
minix: unknown exit: 0 |
netbsd: unknown exit: 0 |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-any-loopback-so-reuseaddr-both | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ bind-conflict-broadcast-any | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
openbsd: unknown second bind: EADDRINUSE |
openindiana-omnios: unknown second bind: EADDRINUSE |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-broadcast-any-so-reuseaddr | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-broadcast-any-so-reuseaddr-both | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-broadcast-broadcast | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
openbsd: unknown second bind: EADDRINUSE |
openindiana-omnios: unknown second bind: EADDRINUSE |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-broadcast-broadcast-so-reuseaddr | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
openbsd: unknown second bind: EADDRINUSE |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-broadcast-broadcast-so-reuseaddr-both | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
openbsd: unknown second bind: EADDRINUSE |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-broadcast-loopback | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-broadcast-loopback-so-reuseaddr | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-broadcast-loopback-so-reuseaddr-both | aix: unknown first bind: EADDRNOTAVAIL |
dragonfly: unknown first bind: EADDRNOTAVAIL |
freebsd: unknown first bind: EADDRNOTAVAIL |
haiku: unknown first bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown first bind: EADDRNOTAVAIL |
minix: unknown first bind: EADDRNOTAVAIL |
netbsd: unknown first bind: EADDRNOTAVAIL |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-loopback-any | aix: good second bind: EADDRINUSE |
dragonfly: good second bind: EADDRINUSE |
freebsd: good second bind: EADDRINUSE |
haiku: good second bind: EADDRINUSE |
hurd: good second bind: EADDRINUSE |
linux: good second bind: EADDRINUSE |
macos: good second bind: EADDRINUSE |
minix: bad exit: 0 |
netbsd: good second bind: EADDRINUSE |
openbsd: good second bind: EADDRINUSE |
openindiana-omnios: good second bind: EADDRINUSE |
sortix: good second bind: EADDRINUSE |
§ bind-conflict-loopback-any-so-reuseaddr | aix: unknown exit: 0 |
dragonfly: unknown exit: 0 |
freebsd: unknown exit: 0 |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown exit: 0 |
minix: unknown exit: 0 |
netbsd: unknown exit: 0 |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-loopback-any-so-reuseaddr-both | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ bind-conflict-loopback-broadcast | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: bad second bind: EADDRINUSE |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-loopback-broadcast-so-reuseaddr | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: bad second bind: EADDRINUSE |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-loopback-broadcast-so-reuseaddr-both | aix: unknown second bind: EADDRNOTAVAIL |
dragonfly: unknown second bind: EADDRNOTAVAIL |
freebsd: unknown second bind: EADDRNOTAVAIL |
haiku: unknown second bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRNOTAVAIL |
minix: unknown second bind: EADDRNOTAVAIL |
netbsd: unknown second bind: EADDRNOTAVAIL |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ bind-conflict-loopback-loopback | aix: good second bind: EADDRINUSE |
dragonfly: good second bind: EADDRINUSE |
freebsd: good second bind: EADDRINUSE |
haiku: good second bind: EADDRINUSE |
hurd: good second bind: EADDRINUSE |
linux: good second bind: EADDRINUSE |
macos: good second bind: EADDRINUSE |
minix: good second bind: EADDRINUSE |
netbsd: good second bind: EADDRINUSE |
openbsd: good second bind: EADDRINUSE |
openindiana-omnios: good second bind: EADDRINUSE |
sortix: good second bind: EADDRINUSE |
§ bind-conflict-loopback-loopback-so-reuseaddr | aix: unknown second bind: EADDRINUSE |
dragonfly: unknown second bind: EADDRINUSE |
freebsd: unknown second bind: EADDRINUSE |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown second bind: EADDRINUSE |
linux: unknown second bind: EADDRINUSE |
macos: unknown second bind: EADDRINUSE |
minix: unknown second bind: EADDRINUSE |
netbsd: unknown second bind: EADDRINUSE |
openbsd: unknown second bind: EADDRINUSE |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-conflict-loopback-loopback-so-reuseaddr-both | aix: unknown second bind: EADDRINUSE |
dragonfly: unknown second bind: EADDRINUSE |
freebsd: unknown second bind: EADDRINUSE |
haiku: unknown second bind: EADDRINUSE |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second bind: EADDRINUSE |
minix: unknown exit: 0 |
netbsd: unknown second bind: EADDRINUSE |
openbsd: unknown second bind: EADDRINUSE |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second bind: EADDRINUSE |
§ bind-connect-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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ bind-connect-self-send | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ bind-connect-self-send-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
openindiana-omnios: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ bind-connect-self-send-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
openbsd: good x |
openindiana-omnios: good x |
sortix: good x |
§ bind-connect-self-send-shutdown-r-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN | POLLOUT |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLOUT |
§ bind-connect-self-send-shutdown-r-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: unknown x |
linux: unknown x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ bind-connect-self-send-shutdown-r-recv-recv | aix: unknown first recv: EOF |
dragonfly: unknown first recv: EOF |
freebsd: unknown first recv: EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad first recv: x second recv: EINVAL |
linux: unknown first recv: x second recv: EWOULDBLOCK |
macos: unknown first recv: EOF |
minix: unknown first recv: EOF |
netbsd: unknown first recv: EOF |
openbsd: unknown first recv: EOF |
openindiana-omnios: unknown first recv: EOF |
sortix: unknown first recv: EOF |
§ bind-connect-self-send-shutdown-rw-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLHUP |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: bad 0 | POLLIN | POLLOUT | POLLHUP |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ bind-connect-self-send-shutdown-rw-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: unknown x |
linux: unknown x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ bind-connect-self-send-shutdown-rw-recv-recv | aix: unknown first recv: EOF |
dragonfly: unknown first recv: EOF |
freebsd: unknown first recv: EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad first recv: x second recv: EINVAL |
linux: unknown first recv: x second recv: EWOULDBLOCK |
macos: unknown first recv: EOF |
minix: unknown first recv: EOF |
netbsd: unknown first recv: EOF |
openbsd: unknown first recv: EOF |
openindiana-omnios: unknown first recv: EOF |
sortix: unknown first recv: EOF |
§ bind-connect-self-shutdown-r-send-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN | POLLOUT |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLOUT |
§ bind-connect-self-shutdown-r-send-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad x |
linux: bad x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ bind-lan-subnet-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 |
minix: bad bind: EADDRNOTAVAIL |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ bind-lan-subnet-first | aix: unknown bind: EADDRNOTAVAIL |
dragonfly: unknown bind: EADDRNOTAVAIL |
freebsd: unknown bind: EADDRNOTAVAIL |
haiku: unknown bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown bind: EADDRNOTAVAIL |
macos: unknown bind: EADDRNOTAVAIL |
minix: unknown bind: EADDRNOTAVAIL |
netbsd: unknown bind: EADDRNOTAVAIL |
openbsd: unknown bind: EADDRNOTAVAIL |
openindiana-omnios: unknown exit: 0 |
sortix: unknown bind: EADDRNOTAVAIL |
§ bind-lan-subnet-wrong | aix: good bind: EADDRNOTAVAIL |
dragonfly: good bind: EADDRNOTAVAIL |
freebsd: good bind: EADDRNOTAVAIL |
haiku: good bind: EADDRNOTAVAIL |
hurd: good bind: EADDRNOTAVAIL |
linux: good bind: EADDRNOTAVAIL |
macos: good bind: EADDRNOTAVAIL |
minix: good bind: EADDRNOTAVAIL |
netbsd: good bind: EADDRNOTAVAIL |
openbsd: good bind: EADDRNOTAVAIL |
openindiana-omnios: good bind: EADDRNOTAVAIL |
sortix: good bind: EADDRNOTAVAIL |
§ bind-loopback-0-getpeername | aix: good getsockname: ENOTCONN |
dragonfly: good getsockname: ENOTCONN |
freebsd: good getsockname: ENOTCONN |
haiku: good getsockname: ENOTCONN |
hurd: good getsockname: ENOTCONN |
linux: good getsockname: ENOTCONN |
macos: good getsockname: ENOTCONN |
minix: good getsockname: ENOTCONN |
netbsd: good getsockname: ENOTCONN |
openbsd: good getsockname: ENOTCONN |
openindiana-omnios: good getsockname: ENOTCONN |
sortix: good getsockname: ENOTCONN |
§ bind-loopback-0-getsockname | aix: good 127.0.0.1:non-zero |
dragonfly: good 127.0.0.1:non-zero |
freebsd: good 127.0.0.1:non-zero |
haiku: good 127.0.0.1:non-zero |
hurd: good 127.0.0.1:non-zero |
linux: good 127.0.0.1:non-zero |
macos: good 127.0.0.1:non-zero |
minix: good 127.0.0.1:non-zero |
netbsd: good 127.0.0.1:non-zero |
openbsd: good 127.0.0.1:non-zero |
openindiana-omnios: good 127.0.0.1:non-zero |
sortix: good 127.0.0.1:non-zero |
§ bind-loopback-broadcast | aix: unknown exit: 0 |
dragonfly: unknown bind: EADDRNOTAVAIL |
freebsd: unknown bind: EADDRNOTAVAIL |
haiku: unknown bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown bind: EADDRNOTAVAIL |
minix: unknown bind: EADDRNOTAVAIL |
netbsd: unknown bind: EADDRNOTAVAIL |
openbsd: unknown bind: EADDRNOTAVAIL |
openindiana-omnios: unknown bind: EADDRNOTAVAIL |
sortix: unknown exit: 0 |
§ bind-loopback-other | aix: unknown bind: EADDRNOTAVAIL |
dragonfly: unknown bind: EADDRNOTAVAIL |
freebsd: unknown bind: EADDRNOTAVAIL |
haiku: unknown bind: EADDRNOTAVAIL |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown bind: EADDRNOTAVAIL |
minix: unknown bind: EADDRNOTAVAIL |
netbsd: unknown bind: EADDRNOTAVAIL |
openbsd: unknown bind: EADDRNOTAVAIL |
openindiana-omnios: unknown bind: EADDRNOTAVAIL |
sortix: unknown bind: EADDRNOTAVAIL |
§ bind-rebind | aix: good second bind: EINVAL |
dragonfly: good second bind: EINVAL |
freebsd: good second bind: EINVAL |
haiku: good second bind: EINVAL |
hurd: good second bind: EINVAL |
linux: good second bind: EINVAL |
macos: good second bind: EINVAL |
minix: good second bind: EINVAL |
netbsd: good second bind: EINVAL |
openbsd: good second bind: EINVAL |
openindiana-omnios: good second bind: EINVAL |
sortix: good second bind: EINVAL |
§ bind-sendto-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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ bind-sendto-self-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
openbsd: good x |
openindiana-omnios: good x |
sortix: good x |
§ bind-socket-sendto-first-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
openindiana-omnios: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ bind-socket-sendto-first-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
openbsd: good x |
openindiana-omnios: good x |
sortix: good x |
§ bind-socket-sendto-first-shutdown-r-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLOUT |
§ bind-socket-sendto-first-shutdown-r-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ bind-socket-sendto-first-shutdown-rw-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLHUP |
§ bind-socket-sendto-first-shutdown-rw-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ bind-socket-sendto-first-shutdown-w-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLHUP |
§ bind-socket-sendto-first-shutdown-w-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown x |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown x |
netbsd: unknown x |
openbsd: unknown x |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown x |
§ bind-socket-shutdown-r-sendto-first-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLOUT |
§ bind-socket-shutdown-r-sendto-first-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ bind-socket-shutdown-rw-sendto-first-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLHUP |
§ bind-socket-shutdown-rw-sendto-first-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ bind-socket-shutdown-w-sendto-first-poll | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown 0 | POLLIN | POLLHUP |
§ bind-socket-shutdown-w-sendto-first-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown x |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown x |
netbsd: unknown x |
openbsd: unknown x |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown x |
§ connect-any-0-getpeername | aix: unknown connect: EADDRNOTAVAIL |
dragonfly: unknown getpeername: ENOTCONN |
freebsd: unknown connect: EADDRNOTAVAIL |
haiku: unknown 127.0.0.1:0 |
hurd: unknown 127.0.0.1:0 |
linux: unknown getpeername: ENOTCONN |
macos: unknown connect: EADDRNOTAVAIL |
minix: unknown connect: EHOSTUNREACH |
netbsd: unknown connect: EADDRNOTAVAIL |
openbsd: unknown connect: EADDRNOTAVAIL |
openindiana-omnios: unknown connect: EADDRNOTAVAIL |
sortix: unknown connect: EADDRNOTAVAIL |
§ connect-any-0-getsockname | aix: unknown connect: EADDRNOTAVAIL |
dragonfly: unknown 0.0.0.0:non-zero |
freebsd: unknown connect: EADDRNOTAVAIL |
haiku: unknown 127.0.0.1:non-zero |
hurd: unknown 127.0.0.1:non-zero |
linux: unknown 127.0.0.1:non-zero |
macos: unknown connect: EADDRNOTAVAIL |
minix: unknown connect: EHOSTUNREACH |
netbsd: unknown connect: EADDRNOTAVAIL |
openbsd: unknown connect: EADDRNOTAVAIL |
openindiana-omnios: unknown connect: EADDRNOTAVAIL |
sortix: unknown connect: EADDRNOTAVAIL |
§ connect-any-getpeername | aix: bad 10.1.0.3:65535 |
dragonfly: unknown 127.0.0.1:65535 |
freebsd: unknown 127.0.0.1:65535 |
haiku: unknown 127.0.0.1:65535 |
hurd: unknown 127.0.0.1:65535 |
linux: unknown 127.0.0.1:65535 |
macos: unknown 127.0.0.1:65535 |
minix: unknown connect: EHOSTUNREACH |
netbsd: unknown 127.0.0.1:65535 |
openbsd: unknown 0.0.0.0:65535 |
openindiana-omnios: unknown 127.0.0.1:65535 |
sortix: unknown connect: ENETUNREACH |
§ connect-any-getsockname | aix: unknown 192.168.1.x:non-zero |
dragonfly: unknown 127.0.0.1:non-zero |
freebsd: unknown 127.0.0.1:non-zero |
haiku: unknown 127.0.0.1:non-zero |
hurd: unknown 127.0.0.1:non-zero |
linux: unknown 127.0.0.1:non-zero |
macos: unknown 127.0.0.1:non-zero |
minix: unknown connect: EHOSTUNREACH |
netbsd: unknown 127.0.0.1:non-zero |
openbsd: unknown 192.168.1.x:non-zero |
openindiana-omnios: unknown 127.0.0.1:non-zero |
sortix: unknown connect: ENETUNREACH |
§ connect-broadcast-getpeername | aix: bad 10.1.1.255:1 |
dragonfly: bad 10.0.2.255:1 |
freebsd: good 255.255.255.255:1 |
haiku: good 255.255.255.255:1 |
hurd: good connect: EACCES |
linux: good connect: EACCES |
macos: good 255.255.255.255:1 |
minix: good 255.255.255.255:1 |
netbsd: bad 10.0.2.255:1 |
openbsd: good 255.255.255.255:1 |
openindiana-omnios: good 255.255.255.255:1 |
sortix: good 255.255.255.255:1 |
§ connect-broadcast-getpeername-so-broadcast | aix: bad 10.1.1.255:1 |
dragonfly: bad 10.0.2.255:1 |
freebsd: good 255.255.255.255:1 |
haiku: good 255.255.255.255:1 |
hurd: good 255.255.255.255:1 |
linux: good 255.255.255.255:1 |
macos: good 255.255.255.255:1 |
minix: good 255.255.255.255:1 |
netbsd: bad 10.0.2.255:1 |
openbsd: good 255.255.255.255:1 |
openindiana-omnios: good 255.255.255.255:1 |
sortix: good 255.255.255.255:1 |
§ connect-broadcast-getsockname | aix: good 192.168.1.x:non-zero |
dragonfly: good 192.168.1.x:non-zero |
freebsd: good 192.168.1.x:non-zero |
haiku: good 192.168.1.x:non-zero |
hurd: good connect: EACCES |
linux: good connect: EACCES |
macos: good 192.168.1.x:non-zero |
minix: good 192.168.1.x:non-zero |
netbsd: good 192.168.1.x:non-zero |
openbsd: good 192.168.1.x:non-zero |
openindiana-omnios: good 192.168.1.x:non-zero |
sortix: good 192.168.1.x:non-zero |
§ connect-broadcast-getsockname-so-broadcast | aix: good 192.168.1.x:non-zero |
dragonfly: good 192.168.1.x:non-zero |
freebsd: good 192.168.1.x:non-zero |
haiku: good 192.168.1.x:non-zero |
hurd: good 192.168.1.x:non-zero |
linux: good 192.168.1.x:non-zero |
macos: good 192.168.1.x:non-zero |
minix: good 192.168.1.x:non-zero |
netbsd: good 192.168.1.x:non-zero |
openbsd: good 192.168.1.x:non-zero |
openindiana-omnios: good 192.168.1.x:non-zero |
sortix: good 192.168.1.x:non-zero |
§ connect-getpeername | aix: good 127.0.0.1:65535 |
dragonfly: good 127.0.0.1:65535 |
freebsd: good 127.0.0.1:65535 |
haiku: good 127.0.0.1:65535 |
hurd: good 127.0.0.1:65535 |
linux: good 127.0.0.1:65535 |
macos: good 127.0.0.1:65535 |
minix: good 127.0.0.1:65535 |
netbsd: good 127.0.0.1:65535 |
openbsd: good 127.0.0.1:65535 |
openindiana-omnios: good 127.0.0.1:65535 |
sortix: good 127.0.0.1:65535 |
§ connect-loopback-0-getpeername | aix: unknown connect: EADDRNOTAVAIL |
dragonfly: unknown getpeername: ENOTCONN |
freebsd: unknown connect: EADDRNOTAVAIL |
haiku: unknown 127.0.0.1:0 |
hurd: unknown 127.0.0.1:0 |
linux: unknown getpeername: ENOTCONN |
macos: unknown connect: EADDRNOTAVAIL |
minix: unknown connect: EADDRNOTAVAIL |
netbsd: unknown connect: EADDRNOTAVAIL |
openbsd: unknown connect: EADDRNOTAVAIL |
openindiana-omnios: unknown connect: EADDRNOTAVAIL |
sortix: unknown connect: EADDRNOTAVAIL |
§ connect-loopback-0-getsockname | aix: unknown connect: EADDRNOTAVAIL |
dragonfly: unknown 0.0.0.0:non-zero |
freebsd: unknown connect: EADDRNOTAVAIL |
haiku: unknown 127.0.0.1:non-zero |
hurd: unknown 127.0.0.1:non-zero |
linux: unknown 127.0.0.1:non-zero |
macos: unknown connect: EADDRNOTAVAIL |
minix: unknown connect: EADDRNOTAVAIL |
netbsd: unknown connect: EADDRNOTAVAIL |
openbsd: unknown connect: EADDRNOTAVAIL |
openindiana-omnios: unknown connect: EADDRNOTAVAIL |
sortix: unknown connect: EADDRNOTAVAIL |
§ connect-loopback-get-so-bindtodevice | aix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
dragonfly: good getsockopt: SO_BINDTODEVICE: ENOSYS |
freebsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
haiku: good getsockopt: SO_BINDTODEVICE: ENOPROTOOPT |
hurd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
linux: good |
macos: good |
minix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
netbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
openbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
openindiana-omnios: good getsockopt: SO_BINDTODEVICE: ENOSYS |
sortix: good |
§ connect-loopback-getpeername | aix: good 127.0.0.1:65535 |
dragonfly: good 127.0.0.1:65535 |
freebsd: good 127.0.0.1:65535 |
haiku: good 127.0.0.1:65535 |
hurd: good 127.0.0.1:65535 |
linux: good 127.0.0.1:65535 |
macos: good 127.0.0.1:65535 |
minix: good 127.0.0.1:65535 |
netbsd: good 127.0.0.1:65535 |
openbsd: good 127.0.0.1:65535 |
openindiana-omnios: good 127.0.0.1:65535 |
sortix: good 127.0.0.1:65535 |
§ connect-loopback-getsockname | aix: good 127.0.0.1:non-zero |
dragonfly: good 127.0.0.1:non-zero |
freebsd: good 127.0.0.1:non-zero |
haiku: good 127.0.0.1:non-zero |
hurd: good 127.0.0.1:non-zero |
linux: good 127.0.0.1:non-zero |
macos: good 127.0.0.1:non-zero |
minix: good 127.0.0.1:non-zero |
netbsd: good 127.0.0.1:non-zero |
openbsd: good 127.0.0.1:non-zero |
openindiana-omnios: good 127.0.0.1:non-zero |
sortix: good 127.0.0.1:non-zero |
§ connect-loopback-reconnect-loopback-getsockname | aix: good 127.0.0.1:same port |
dragonfly: good 127.0.0.1:same port |
freebsd: good 127.0.0.1:same port |
haiku: good 127.0.0.1:same port |
hurd: good 127.0.0.1:same port |
linux: good 127.0.0.1:same port |
macos: good 127.0.0.1:same port |
minix: good 127.0.0.1:same port |
netbsd: good 127.0.0.1:same port |
openbsd: good 127.0.0.1:same port |
openindiana-omnios: good 127.0.0.1:same port |
sortix: good 127.0.0.1:same port |
§ connect-loopback-reconnect-wan-getsockname | aix: bad 127.0.0.1:same port |
dragonfly: unknown 192.168.1.x:same port |
freebsd: unknown 192.168.1.x:same port |
haiku: unknown 192.168.1.x:same port |
hurd: unknown second connect: EINVAL |
linux: unknown second connect: EINVAL |
macos: unknown 192.168.1.x:same port |
minix: bad 127.0.0.1:same port |
netbsd: unknown 192.168.1.x:same port |
openbsd: unknown 192.168.1.x:same port |
openindiana-omnios: unknown 192.168.1.x:same port |
sortix: unknown second connect: ENETUNREACH |
§ connect-loopback-unconnect-rebind-any-getsockname | aix: unknown bind: EINVAL |
dragonfly: unknown bind: EINVAL |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown bind: EINVAL |
hurd: unknown bind: EINVAL |
linux: unknown 0.0.0.0:non-zero |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown bind: EINVAL |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown bind: EINVAL |
sortix: unknown bind: EINVAL |
§ connect-loopback-unconnect-rebind-loopback-getsockname | aix: unknown bind: EINVAL |
dragonfly: unknown bind: EINVAL |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown bind: EINVAL |
hurd: unknown bind: EINVAL |
linux: unknown 127.0.0.1:non-zero |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown bind: EINVAL |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown bind: EINVAL |
sortix: unknown bind: EINVAL |
§ connect-poll | aix: good 0 | POLLOUT |
dragonfly: good 0 | POLLOUT |
freebsd: good 0 | POLLOUT |
haiku: good 0 | POLLOUT |
hurd: good 0 | POLLOUT |
linux: good 0 | POLLOUT |
macos: good 0 | POLLOUT |
minix: good 0 | POLLOUT |
netbsd: good 0 | POLLOUT |
openbsd: good 0 | POLLOUT |
openindiana-omnios: good 0 | POLLOUT |
sortix: good 0 | POLLOUT |
§ connect-reconnect | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-reconnect-any-getpeername | aix: unknown second connect: EADDRNOTAVAIL |
dragonfly: unknown getpeername: ENOTCONN |
freebsd: unknown second connect: EADDRNOTAVAIL |
haiku: bad 127.0.0.1:0 |
hurd: bad 127.0.0.1:0 |
linux: unknown getpeername: ENOTCONN |
macos: unknown second connect: EADDRNOTAVAIL |
minix: unknown second connect: EHOSTUNREACH |
netbsd: unknown second connect: EADDRNOTAVAIL |
openbsd: unknown second connect: EADDRNOTAVAIL |
openindiana-omnios: unknown second connect: EADDRNOTAVAIL |
sortix: unknown second connect: EADDRNOTAVAIL |
§ connect-reconnect-getpeername | aix: good 127.0.0.1:65534 |
dragonfly: good 127.0.0.1:65534 |
freebsd: good 127.0.0.1:65534 |
haiku: good 127.0.0.1:65534 |
hurd: good 127.0.0.1:65534 |
linux: good 127.0.0.1:65534 |
macos: good 127.0.0.1:65534 |
minix: good 127.0.0.1:65534 |
netbsd: good 127.0.0.1:65534 |
openbsd: good 127.0.0.1:65534 |
openindiana-omnios: good 127.0.0.1:65534 |
sortix: good 127.0.0.1:65534 |
§ connect-reconnect-same | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-recv | aix: good recv: EWOULDBLOCK |
dragonfly: good recv: EWOULDBLOCK |
freebsd: good recv: EWOULDBLOCK |
haiku: good recv: EWOULDBLOCK |
hurd: good recv: EWOULDBLOCK |
linux: good recv: EWOULDBLOCK |
macos: good recv: EWOULDBLOCK |
minix: good recv: EWOULDBLOCK |
netbsd: good recv: EWOULDBLOCK |
openbsd: good recv: EWOULDBLOCK |
openindiana-omnios: good recv: EWOULDBLOCK |
sortix: good recv: EWOULDBLOCK |
§ connect-send-error-accept | aix: good accept: ENOTSUP |
dragonfly: bad accept: EINVAL |
freebsd: bad accept: EINVAL |
haiku: bad accept: EINVAL |
hurd: good accept: ENOTSUP |
linux: good accept: ENOTSUP |
macos: good accept: ENOTSUP |
minix: good accept: ENOTSUP |
netbsd: good accept: ENOTSUP |
openbsd: bad accept: EINVAL |
openindiana-omnios: good accept: ENOTSUP |
sortix: good accept: ENOTSUP |
§ connect-send-error-getpeername | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-send-error-getsockname | 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 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-send-error-listen | aix: good listen: ENOTSUP |
dragonfly: bad listen: EINVAL |
freebsd: good listen: ENOTSUP |
haiku: good listen: ENOTSUP |
hurd: good listen: ENOTSUP |
linux: good listen: ENOTSUP |
macos: good listen: ENOTSUP |
minix: good listen: ENOTSUP |
netbsd: bad listen: EINVAL |
openbsd: good listen: ENOTSUP |
openindiana-omnios: good listen: ENOTSUP |
sortix: good listen: ENOTSUP |
§ connect-send-error-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: unknown 0 | POLLIN | POLLOUT | POLLERR |
hurd: unknown 0 | POLLERR |
linux: unknown 0 | POLLOUT | POLLERR |
macos: unknown 0 | POLLIN | POLLOUT |
minix: unknown 0 | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLOUT |
§ connect-send-error-poll-poll | aix: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
dragonfly: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
freebsd: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
haiku: unknown first poll: 0 | POLLIN | POLLOUT | POLLERR second poll: 0 | POLLIN | POLLOUT | POLLERR |
hurd: unknown first poll: 0 | POLLERR second poll: 0 | POLLERR |
linux: unknown first poll: 0 | POLLOUT | POLLERR second poll: 0 | POLLOUT | POLLERR |
macos: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
minix: unknown first poll: 0 | POLLOUT second poll: 0 | POLLOUT |
netbsd: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
openbsd: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown first poll: 0 | POLLIN | POLLOUT second poll: 0 | POLLIN | POLLOUT |
sortix: unknown first poll: 0 | POLLOUT second poll: 0 | POLLOUT |
§ connect-send-error-poll-so-error-poll | aix: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
dragonfly: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
freebsd: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
haiku: unknown first poll: 0 | POLLIN | POLLOUT | POLLERR SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
hurd: unknown first poll: 0 | POLLERR SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
linux: unknown first poll: 0 | POLLOUT | POLLERR SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
macos: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
minix: unknown first poll: 0 | POLLOUT SO_ERROR: no error second poll: 0 | POLLOUT |
netbsd: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
openbsd: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
openindiana-omnios: unknown first poll: 0 | POLLIN | POLLOUT SO_ERROR: ECONNREFUSED second poll: 0 | POLLOUT |
sortix: unknown first poll: 0 | POLLOUT SO_ERROR: no error second poll: 0 | POLLOUT |
§ connect-send-error-reconnect | aix: unknown second connect: ECONNREFUSED |
dragonfly: unknown exit: 0 |
freebsd: unknown exit: 0 |
haiku: unknown exit: 0 |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown second connect: ECONNREFUSED |
minix: unknown exit: 0 |
netbsd: unknown second connect: ECONNREFUSED |
openbsd: unknown second connect: ECONNREFUSED |
openindiana-omnios: unknown second connect: ECONNREFUSED |
sortix: unknown exit: 0 |
§ connect-send-error-recv | aix: good recv: ECONNREFUSED |
dragonfly: good recv: ECONNREFUSED |
freebsd: good recv: ECONNREFUSED |
haiku: good recv: ECONNREFUSED |
hurd: good recv: ECONNREFUSED |
linux: good recv: ECONNREFUSED |
macos: good recv: ECONNREFUSED |
minix: bad recv: EWOULDBLOCK |
netbsd: good recv: ECONNREFUSED |
openbsd: good recv: ECONNREFUSED |
openindiana-omnios: good recv: ECONNREFUSED |
sortix: bad recv: EWOULDBLOCK |
§ connect-send-error-send | aix: bad second send: no error |
dragonfly: good second send: ECONNREFUSED |
freebsd: good second send: ECONNREFUSED |
haiku: bad second send: no error |
hurd: good second send: ECONNREFUSED |
linux: good second send: ECONNREFUSED |
macos: good second send: ECONNREFUSED |
minix: bad second send: no error |
netbsd: good second send: ECONNREFUSED |
openbsd: good second send: ECONNREFUSED |
openindiana-omnios: good second send: ECONNREFUSED |
sortix: bad second send: no error |
§ connect-send-error-send-send | aix: bad second send: no error third send: no error |
dragonfly: good second send: ECONNREFUSED third send: no error |
freebsd: good second send: ECONNREFUSED third send: no error |
haiku: bad second send: no error third send: no error |
hurd: good second send: ECONNREFUSED third send: no error |
linux: good second send: ECONNREFUSED third send: no error |
macos: good second send: ECONNREFUSED third send: no error |
minix: bad second send: no error third send: no error |
netbsd: good second send: ECONNREFUSED third send: no error |
openbsd: good second send: ECONNREFUSED third send: no error |
openindiana-omnios: good second send: ECONNREFUSED third send: no error |
sortix: bad second send: no error third send: no error |
§ connect-send-error-shutdown-r-recv | aix: unknown recv: ECONNREFUSED |
dragonfly: unknown recv: ECONNREFUSED |
freebsd: unknown recv: ECONNREFUSED |
haiku: bad shutdown: ENOTSUP |
hurd: unknown recv: ECONNREFUSED |
linux: unknown recv: ECONNREFUSED |
macos: unknown recv: ECONNREFUSED |
minix: unknown EOF |
netbsd: unknown recv: ECONNREFUSED |
openbsd: unknown recv: ECONNREFUSED |
openindiana-omnios: unknown recv: ECONNREFUSED |
sortix: unknown EOF |
§ connect-send-error-shutdown-r-send | aix: bad exit: 0 |
dragonfly: good second send: ECONNREFUSED |
freebsd: good second send: ECONNREFUSED |
haiku: bad shutdown: ENOTSUP |
hurd: good second send: ECONNREFUSED |
linux: good second send: ECONNREFUSED |
macos: good second send: ECONNREFUSED |
minix: bad exit: 0 |
netbsd: good second send: ECONNREFUSED |
openbsd: good second send: ECONNREFUSED |
openindiana-omnios: good second send: ECONNREFUSED |
sortix: bad exit: 0 |
§ connect-send-error-shutdown-rw-recv | aix: unknown recv: ECONNREFUSED |
dragonfly: unknown recv: ECONNREFUSED |
freebsd: unknown recv: ECONNREFUSED |
haiku: bad shutdown: ENOTSUP |
hurd: unknown recv: ECONNREFUSED |
linux: unknown recv: ECONNREFUSED |
macos: unknown recv: ECONNREFUSED |
minix: unknown EOF |
netbsd: unknown recv: ECONNREFUSED |
openbsd: unknown recv: ECONNREFUSED |
openindiana-omnios: unknown recv: ECONNREFUSED |
sortix: unknown EOF |
§ connect-send-error-shutdown-rw-send | aix: unknown second send: EPIPE SIGPIPE |
dragonfly: unknown second send: EPIPE SIGPIPE |
freebsd: unknown second send: EPIPE SIGPIPE |
haiku: bad shutdown: ENOTSUP |
hurd: unknown second send: EPIPE SIGPIPE |
linux: unknown second send: ECONNREFUSED |
macos: unknown second send: EPIPE SIGPIPE |
minix: unknown second send: EPIPE |
netbsd: unknown second send: EPIPE SIGPIPE |
openbsd: unknown second send: EPIPE SIGPIPE |
openindiana-omnios: unknown second send: EPIPE SIGPIPE |
sortix: unknown second send: EPIPE SIGPIPE |
§ connect-send-error-shutdown-rw-so-error | aix: good SO_ERROR: ECONNREFUSED |
dragonfly: good SO_ERROR: ECONNREFUSED |
freebsd: good SO_ERROR: ECONNREFUSED |
haiku: bad shutdown: ENOTSUP |
hurd: good SO_ERROR: ECONNREFUSED |
linux: good SO_ERROR: ECONNREFUSED |
macos: good SO_ERROR: ECONNREFUSED |
minix: bad SO_ERROR: no error |
netbsd: good SO_ERROR: ECONNREFUSED |
openbsd: good SO_ERROR: ECONNREFUSED |
openindiana-omnios: good SO_ERROR: ECONNREFUSED |
sortix: bad SO_ERROR: no error |
§ connect-send-error-shutdown-w-recv | aix: good recv: ECONNREFUSED |
dragonfly: good recv: ECONNREFUSED |
freebsd: good recv: ECONNREFUSED |
haiku: bad shutdown: ENOTSUP |
hurd: good recv: ECONNREFUSED |
linux: good recv: ECONNREFUSED |
macos: good recv: ECONNREFUSED |
minix: bad recv: EWOULDBLOCK |
netbsd: good recv: ECONNREFUSED |
openbsd: good recv: ECONNREFUSED |
openindiana-omnios: good recv: ECONNREFUSED |
sortix: bad recv: EWOULDBLOCK |
§ connect-send-error-shutdown-w-send | aix: unknown second send: EPIPE SIGPIPE |
dragonfly: unknown second send: EPIPE SIGPIPE |
freebsd: unknown second send: EPIPE SIGPIPE |
haiku: bad shutdown: ENOTSUP |
hurd: unknown second send: EPIPE SIGPIPE |
linux: unknown second send: ECONNREFUSED |
macos: unknown second send: EPIPE SIGPIPE |
minix: unknown second send: EPIPE |
netbsd: unknown second send: EPIPE SIGPIPE |
openbsd: unknown second send: EPIPE SIGPIPE |
openindiana-omnios: unknown second send: EPIPE SIGPIPE |
sortix: unknown second send: EPIPE SIGPIPE |
§ connect-send-error-so-error-send-send | aix: bad SO_ERROR: ECONNREFUSED second send: no error third send: no error |
dragonfly: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
freebsd: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
haiku: bad SO_ERROR: ECONNREFUSED second send: no error third send: no error |
hurd: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
linux: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
macos: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
minix: bad SO_ERROR: no error second send: no error third send: no error |
netbsd: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
openbsd: good SO_ERROR: ECONNREFUSED second send: no error third send: ECONNREFUSED |
openindiana-omnios: bad SO_ERROR: ECONNREFUSED second send: no error third send: no error |
sortix: bad SO_ERROR: no error second send: no error third send: no error |
§ connect-sendto-null | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad sendto: EINVAL |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-sendto-other | aix: good sendto: EISCONN |
dragonfly: good exit: 0 |
freebsd: good sendto: EISCONN |
haiku: good sendto: EISCONN |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good sendto: EISCONN |
minix: good exit: 0 |
netbsd: good sendto: EISCONN |
openbsd: good sendto: EISCONN |
openindiana-omnios: good sendto: EISCONN |
sortix: good sendto: EISCONN |
§ connect-sendto-same | aix: good sendto: EISCONN |
dragonfly: good exit: 0 |
freebsd: good sendto: EISCONN |
haiku: good sendto: EISCONN |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good sendto: EISCONN |
minix: good exit: 0 |
netbsd: good sendto: EISCONN |
openbsd: good sendto: EISCONN |
openindiana-omnios: good sendto: EISCONN |
sortix: good sendto: EISCONN |
§ connect-shutdown | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad shutdown: ENOTSUP |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-shutdown-r-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad recv: EINVAL |
linux: unknown recv: EWOULDBLOCK |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ connect-shutdown-r-send | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad shutdown: ENOTSUP |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-shutdown-r-unconnect-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: bad recv: EINVAL |
linux: unknown recv: EWOULDBLOCK |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown EOF |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ connect-shutdown-r-unconnect-send | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad second connect: EAFNOSUPPORT |
minix: good exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-shutdown-reconnect | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: good exit: 0 |
haiku: bad shutdown: ENOTSUP |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: good exit: 0 |
minix: good exit: 0 |
netbsd: good exit: 0 |
openbsd: good exit: 0 |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-shutdown-rw-reconnect-send | aix: unknown send: EPIPE SIGPIPE |
dragonfly: unknown send: EPIPE SIGPIPE |
freebsd: unknown send: EPIPE SIGPIPE |
haiku: bad shutdown: ENOTSUP |
hurd: unknown send: EPIPE SIGPIPE |
linux: unknown send: EPIPE |
macos: unknown send: EPIPE SIGPIPE |
minix: unknown send: EPIPE |
netbsd: unknown send: EPIPE SIGPIPE |
openbsd: unknown send: EPIPE SIGPIPE |
openindiana-omnios: unknown send: EPIPE SIGPIPE |
sortix: unknown send: EPIPE SIGPIPE |
§ connect-shutdown-rw-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad recv: EINVAL |
linux: unknown recv: EWOULDBLOCK |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ connect-shutdown-rw-send | aix: unknown send: EPIPE SIGPIPE |
dragonfly: unknown send: EPIPE SIGPIPE |
freebsd: unknown send: EPIPE SIGPIPE |
haiku: bad shutdown: ENOTSUP |
hurd: unknown send: EPIPE SIGPIPE |
linux: unknown send: EPIPE |
macos: unknown send: EPIPE SIGPIPE |
minix: unknown send: EPIPE |
netbsd: unknown send: EPIPE SIGPIPE |
openbsd: unknown send: EPIPE SIGPIPE |
openindiana-omnios: unknown send: EPIPE SIGPIPE |
sortix: unknown send: EPIPE SIGPIPE |
§ connect-shutdown-rw-unconnect-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: bad recv: EINVAL |
linux: unknown recv: EWOULDBLOCK |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown EOF |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ connect-shutdown-rw-unconnect-send | aix: unknown sendto: EPIPE |
dragonfly: unknown sendto: EPIPE SIGPIPE |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown sendto: EPIPE SIGPIPE |
linux: unknown sendto: EPIPE |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown sendto: EPIPE |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown sendto: EPIPE SIGPIPE |
sortix: unknown sendto: EPIPE SIGPIPE |
§ connect-shutdown-w-recv | aix: good recv: EWOULDBLOCK |
dragonfly: good recv: EWOULDBLOCK |
freebsd: good recv: EWOULDBLOCK |
haiku: bad shutdown: ENOTSUP |
hurd: good recv: EWOULDBLOCK |
linux: good recv: EWOULDBLOCK |
macos: good recv: EWOULDBLOCK |
minix: good recv: EWOULDBLOCK |
netbsd: good recv: EWOULDBLOCK |
openbsd: good recv: EWOULDBLOCK |
openindiana-omnios: good recv: EWOULDBLOCK |
sortix: good recv: EWOULDBLOCK |
§ connect-shutdown-w-send | aix: unknown send: EPIPE SIGPIPE |
dragonfly: unknown send: EPIPE SIGPIPE |
freebsd: unknown send: EPIPE SIGPIPE |
haiku: bad shutdown: ENOTSUP |
hurd: unknown send: EPIPE SIGPIPE |
linux: unknown send: EPIPE |
macos: unknown send: EPIPE SIGPIPE |
minix: unknown send: EPIPE |
netbsd: unknown send: EPIPE SIGPIPE |
openbsd: unknown send: EPIPE SIGPIPE |
openindiana-omnios: unknown send: EPIPE SIGPIPE |
sortix: unknown send: EPIPE SIGPIPE |
§ connect-shutdown-w-unconnect-recv | aix: good recv: EWOULDBLOCK |
dragonfly: good recv: EWOULDBLOCK |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: good recv: EWOULDBLOCK |
linux: good recv: EWOULDBLOCK |
macos: bad second connect: EAFNOSUPPORT |
minix: good recv: EWOULDBLOCK |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: good recv: EWOULDBLOCK |
sortix: good recv: EWOULDBLOCK |
§ connect-shutdown-w-unconnect-send | aix: unknown sendto: EPIPE |
dragonfly: unknown sendto: EPIPE SIGPIPE |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown sendto: EPIPE SIGPIPE |
linux: unknown sendto: EPIPE |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown sendto: EPIPE |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown sendto: EPIPE SIGPIPE |
sortix: unknown sendto: EPIPE SIGPIPE |
§ connect-unconnect | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad second connect: EAFNOSUPPORT |
minix: good exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-unconnect-getpeername | aix: good getpeername: ENOTCONN |
dragonfly: good getpeername: ENOTCONN |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad 0.0.0.0:0 |
hurd: good getpeername: ENOTCONN |
linux: good getpeername: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: good getpeername: ENOTCONN |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: good getpeername: ENOTCONN |
sortix: good getpeername: ENOTCONN |
§ connect-unconnect-getsockname | aix: unknown 127.0.0.1:non-zero |
dragonfly: unknown 0.0.0.0:non-zero |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown 127.0.0.1:non-zero |
hurd: unknown 0.0.0.0:non-zero |
linux: unknown 0.0.0.0:0 |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown 127.0.0.1:non-zero |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown 0.0.0.0:non-zero |
sortix: unknown 127.0.0.1:non-zero |
§ connect-unconnect-sa-family | aix: unknown exit: 0 |
dragonfly: bad second connect: EDOM |
freebsd: unknown second connect: EINVAL |
haiku: unknown exit: 0 |
hurd: unknown second connect: EINVAL |
linux: unknown exit: 0 |
macos: unknown second connect: EINVAL |
minix: unknown second connect: EINVAL |
netbsd: unknown second connect: EINVAL |
openbsd: unknown second connect: EINVAL |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ connect-unconnect-shutdown-r-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown EOF |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ connect-unconnect-shutdown-r-send | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ connect-unconnect-shutdown-rw-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown EOF |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ connect-unconnect-shutdown-rw-send | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown sendto: EPIPE SIGPIPE |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown sendto: EPIPE |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown sendto: EPIPE SIGPIPE |
sortix: unknown sendto: EPIPE SIGPIPE |
§ connect-unconnect-shutdown-w-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown recv: EWOULDBLOCK |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown recv: EWOULDBLOCK |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown recv: EWOULDBLOCK |
sortix: unknown recv: EWOULDBLOCK |
§ connect-unconnect-shutdown-w-send | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown sendto: EPIPE SIGPIPE |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown sendto: EPIPE |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown sendto: EPIPE SIGPIPE |
sortix: unknown sendto: EPIPE SIGPIPE |
§ connect-unconnect-sockaddr | aix: unknown exit: 0 |
dragonfly: unknown exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown exit: 0 |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown exit: 0 |
sortix: unknown exit: 0 |
§ connect-unconnect-sockaddr-in | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad second connect: EAFNOSUPPORT |
minix: good exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-unconnect-sockaddr-storage | aix: bad second connect: EINVAL |
dragonfly: good exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad second connect: EINVAL |
minix: good exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EINVAL |
openindiana-omnios: good exit: 0 |
sortix: good exit: 0 |
§ connect-unconnect-unconnect | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad second connect: EAFNOSUPPORT |
minix: good exit: 0 |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: bad third connect: EINVAL |
sortix: good exit: 0 |
§ connect-wan-get-so-bindtodevice | aix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
dragonfly: good getsockopt: SO_BINDTODEVICE: ENOSYS |
freebsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
haiku: good getsockopt: SO_BINDTODEVICE: ENOPROTOOPT |
hurd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
linux: good |
macos: good |
minix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
netbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
openbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
openindiana-omnios: good getsockopt: SO_BINDTODEVICE: ENOSYS |
sortix: good |
§ connect-wan-getsockname | aix: good 192.168.1.x:non-zero |
dragonfly: good 192.168.1.x:non-zero |
freebsd: good 192.168.1.x:non-zero |
haiku: good 192.168.1.x:non-zero |
hurd: good 192.168.1.x:non-zero |
linux: good 192.168.1.x:non-zero |
macos: good 192.168.1.x:non-zero |
minix: good 192.168.1.x:non-zero |
netbsd: good 192.168.1.x:non-zero |
openbsd: good 192.168.1.x:non-zero |
openindiana-omnios: good 192.168.1.x:non-zero |
sortix: good 192.168.1.x:non-zero |
§ connect-wan-send-reconnect-loopback-send | aix: unknown exit: 0 |
dragonfly: unknown exit: 0 |
freebsd: unknown second send: EADDRNOTAVAIL |
haiku: unknown exit: 0 |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown exit: 0 |
minix: unknown exit: 0 |
netbsd: unknown exit: 0 |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown exit: 0 |
sortix: unknown second connect: ENETUNREACH |
§ connect-wan-unconnect-rebind-any-getsockname | aix: unknown bind: EINVAL |
dragonfly: unknown bind: EINVAL |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown bind: EINVAL |
hurd: unknown bind: EINVAL |
linux: unknown bind: EADDRNOTAVAIL |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown bind: EINVAL |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown bind: EADDRNOTAVAIL |
sortix: unknown bind: EINVAL |
§ connect-wan-unconnect-rebind-same-getsockname | aix: unknown bind: EINVAL |
dragonfly: unknown bind: EINVAL |
freebsd: bad second connect: EAFNOSUPPORT |
haiku: unknown bind: EINVAL |
hurd: unknown bind: EINVAL |
linux: unknown 192.168.1.x:non-zero |
macos: bad second connect: EAFNOSUPPORT |
minix: unknown bind: EINVAL |
netbsd: bad second connect: EAFNOSUPPORT |
openbsd: bad second connect: EAFNOSUPPORT |
openindiana-omnios: unknown bind: EINVAL |
sortix: unknown bind: EINVAL |
§ cross-netif-lan-send-loopback-recv | aix: good 192.168.1.x:non-zero: x |
dragonfly: good 192.168.1.x:non-zero: x |
freebsd: good 192.168.1.x:non-zero: x |
haiku: good 192.168.1.x:non-zero: x |
hurd: good 192.168.1.x:non-zero: x |
linux: good 192.168.1.x:non-zero: x |
macos: good 192.168.1.x:non-zero: x |
minix: good 192.168.1.x:non-zero: x |
netbsd: good 192.168.1.x:non-zero: x |
openbsd: good 192.168.1.x:non-zero: x |
openindiana-omnios: good 192.168.1.x:non-zero: x |
sortix: bad sendto: ENETUNREACH |
§ cross-netif-loopback-send-lan-recv | aix: good 127.0.0.1:non-zero: x |
dragonfly: good 127.0.0.1:non-zero: x |
freebsd: good 127.0.0.1:non-zero: x |
haiku: good 127.0.0.1:non-zero: x |
hurd: good 127.0.0.1:non-zero: x |
linux: good 127.0.0.1:non-zero: x |
macos: good 127.0.0.1:non-zero: x |
minix: good 127.0.0.1:non-zero: x |
netbsd: good 127.0.0.1:non-zero: x |
openbsd: good 127.0.0.1:non-zero: x |
openindiana-omnios: good 127.0.0.1:non-zero: x |
sortix: bad sendto: ENETUNREACH |
§ get-so-bindtodevice | aix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
dragonfly: good getsockopt: SO_BINDTODEVICE: ENOSYS |
freebsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
haiku: good getsockopt: SO_BINDTODEVICE: ENOPROTOOPT |
hurd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
linux: good |
macos: good |
minix: good getsockopt: SO_BINDTODEVICE: ENOSYS |
netbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
openbsd: good getsockopt: SO_BINDTODEVICE: ENOSYS |
openindiana-omnios: good getsockopt: SO_BINDTODEVICE: ENOSYS |
sortix: good |
§ getpeername | aix: good getpeername: ENOTCONN |
dragonfly: good getpeername: ENOTCONN |
freebsd: good getpeername: ENOTCONN |
haiku: good getpeername: ENOTCONN |
hurd: good getpeername: ENOTCONN |
linux: good getpeername: ENOTCONN |
macos: good getpeername: ENOTCONN |
minix: good getpeername: ENOTCONN |
netbsd: good getpeername: ENOTCONN |
openbsd: good getpeername: ENOTCONN |
openindiana-omnios: good getpeername: ENOTCONN |
sortix: good getpeername: ENOTCONN |
§ getsockname | aix: good 0.0.0.0:0 |
dragonfly: good 0.0.0.0:0 |
freebsd: good 0.0.0.0:0 |
haiku: good 0.0.0.0:0 |
hurd: good 0.0.0.0:0 |
linux: good 0.0.0.0:0 |
macos: good 0.0.0.0:0 |
minix: good 0.0.0.0:0 |
netbsd: good 0.0.0.0:0 |
openbsd: good 0.0.0.0:0 |
openindiana-omnios: good 0.0.0.0:0 |
sortix: good 0.0.0.0:0 |
§ listen | aix: good listen: ENOTSUP |
dragonfly: good listen: ENOTSUP |
freebsd: good listen: ENOTSUP |
haiku: good listen: ENOTSUP |
hurd: good listen: ENOTSUP |
linux: good listen: ENOTSUP |
macos: good listen: ENOTSUP |
minix: good listen: ENOTSUP |
netbsd: good listen: ENOTSUP |
openbsd: good listen: ENOTSUP |
openindiana-omnios: good listen: ENOTSUP |
sortix: good listen: ENOTSUP |
§ pair-poll | aix: good 0 | POLLOUT |
dragonfly: good 0 | POLLOUT |
freebsd: good 0 | POLLOUT |
haiku: good 0 | POLLOUT |
hurd: good 0 | POLLOUT |
linux: good 0 | POLLOUT |
macos: good 0 | POLLOUT |
minix: good 0 | POLLOUT |
netbsd: good 0 | POLLOUT |
openbsd: good 0 | POLLOUT |
openindiana-omnios: good 0 | POLLOUT |
sortix: good 0 | POLLOUT |
§ pair-send-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
openindiana-omnios: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ pair-send-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
openbsd: good x |
openindiana-omnios: good x |
sortix: good x |
§ pair-send-shutdown-r-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN | POLLOUT |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLOUT |
§ pair-send-shutdown-r-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: unknown x |
linux: unknown x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ pair-send-shutdown-rw-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLHUP |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: bad 0 | POLLIN | POLLOUT | POLLHUP |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ pair-send-shutdown-rw-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: unknown x |
linux: unknown x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ pair-send-shutdown-w-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ pair-send-shutdown-w-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: bad shutdown: ENOTSUP |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
openbsd: good x |
openindiana-omnios: good x |
sortix: good x |
§ pair-shutdown-r-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN | POLLOUT |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLOUT |
§ pair-shutdown-r-send-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLOUT |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN | POLLOUT |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLOUT |
§ pair-shutdown-r-send-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad x |
linux: bad x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ pair-shutdown-rw-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLHUP |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: bad 0 | POLLIN | POLLOUT | POLLHUP |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ pair-shutdown-rw-send-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLHUP |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: bad 0 | POLLIN | POLLOUT | POLLHUP |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ pair-shutdown-rw-send-recv | aix: unknown EOF |
dragonfly: unknown EOF |
freebsd: unknown EOF |
haiku: bad shutdown: ENOTSUP |
hurd: bad x |
linux: bad x |
macos: unknown EOF |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown EOF |
sortix: unknown EOF |
§ pair-shutdown-w-poll | aix: unknown 0 | POLLOUT |
dragonfly: unknown 0 | POLLHUP |
freebsd: unknown 0 | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown poll returned 0 |
linux: unknown 0 | POLLOUT |
macos: unknown 0 | POLLHUP |
minix: unknown 0 | POLLOUT |
netbsd: unknown 0 | POLLOUT |
openbsd: unknown 0 | POLLOUT |
openindiana-omnios: unknown 0 | POLLOUT |
sortix: unknown 0 | POLLHUP |
§ pair-shutdown-w-send-poll | aix: unknown 0 | POLLIN | POLLOUT |
dragonfly: unknown 0 | POLLIN | POLLHUP |
freebsd: unknown 0 | POLLIN | POLLOUT |
haiku: bad shutdown: ENOTSUP |
hurd: unknown 0 | POLLIN |
linux: unknown 0 | POLLIN | POLLOUT |
macos: unknown 0 | POLLIN | POLLHUP |
minix: unknown 0 | POLLIN | POLLOUT |
netbsd: unknown 0 | POLLIN | POLLOUT |
openbsd: unknown 0 | POLLIN | POLLOUT |
openindiana-omnios: unknown 0 | POLLIN | POLLOUT |
sortix: unknown 0 | POLLIN | POLLHUP |
§ pair-shutdown-w-send-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: bad shutdown: ENOTSUP |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
openbsd: good x |
openindiana-omnios: good x |
sortix: good x |
§ poll | aix: unknown 0 | POLLOUT |
dragonfly: unknown 0 | POLLOUT |
freebsd: unknown 0 | POLLOUT |
haiku: unknown 0 | POLLOUT |
hurd: unknown 0 | POLLOUT |
linux: unknown 0 | POLLOUT |
macos: unknown 0 | POLLOUT |
minix: unknown 0 | POLLOUT |
netbsd: unknown 0 | POLLOUT |
openbsd: unknown 0 | POLLOUT |
openindiana-omnios: unknown 0 | POLLOUT |
sortix: unknown 0 | POLLOUT |
§ recvfrom-getsockname | aix: good 0.0.0.0:0 |
dragonfly: good 0.0.0.0:0 |
freebsd: good 0.0.0.0:0 |
haiku: good 0.0.0.0:0 |
hurd: unknown 0.0.0.0:non-zero |
linux: good 0.0.0.0:0 |
macos: good 0.0.0.0:0 |
minix: good 0.0.0.0:0 |
netbsd: good 0.0.0.0:0 |
openbsd: good 0.0.0.0:0 |
openindiana-omnios: good 0.0.0.0:0 |
sortix: good 0.0.0.0:0 |
§ send | aix: good send: EDESTADDRREQ |
dragonfly: good send: EDESTADDRREQ |
freebsd: good send: EDESTADDRREQ |
haiku: good send: EDESTADDRREQ |
hurd: bad send: ENOTCONN |
linux: good send: EDESTADDRREQ |
macos: good send: EDESTADDRREQ |
minix: good send: EDESTADDRREQ |
netbsd: good send: EDESTADDRREQ |
openbsd: good send: EDESTADDRREQ |
openindiana-omnios: good send: EDESTADDRREQ |
sortix: good send: EDESTADDRREQ |
§ sendto-any-so-error | aix: unknown exit: 0 |
dragonfly: unknown exit: 0 |
freebsd: unknown exit: 0 |
haiku: unknown sendto: EDESTADDRREQ |
hurd: unknown exit: 0 |
linux: unknown exit: 0 |
macos: unknown exit: 0 |
minix: bad sendto: EHOSTUNREACH |
netbsd: unknown exit: 0 |
openbsd: unknown sendto: ENETUNREACH |
openindiana-omnios: unknown exit: 0 |
sortix: unknown sendto: ENETUNREACH |
§ sendto-getsockname | aix: good 0.0.0.0:non-zero |
dragonfly: good 0.0.0.0:non-zero |
freebsd: good 0.0.0.0:non-zero |
haiku: good 0.0.0.0:non-zero |
hurd: good 0.0.0.0:non-zero |
linux: good 0.0.0.0:non-zero |
macos: good 0.0.0.0:non-zero |
minix: good 0.0.0.0:non-zero |
netbsd: good 0.0.0.0:non-zero |
openbsd: good 0.0.0.0:non-zero |
openindiana-omnios: good 0.0.0.0:non-zero |
sortix: good 0.0.0.0:non-zero |
§ sendto-loopback-0-so-error | aix: unknown sendto: EADDRNOTAVAIL |
dragonfly: unknown exit: 0 |
freebsd: unknown sendto: EADDRNOTAVAIL |
haiku: unknown exit: 0 |
hurd: bad sendto: EINVAL |
linux: bad sendto: EINVAL |
macos: unknown sendto: EADDRNOTAVAIL |
minix: unknown sendto: EADDRNOTAVAIL |
netbsd: unknown sendto: EADDRNOTAVAIL |
openbsd: unknown sendto: EADDRNOTAVAIL |
openindiana-omnios: unknown exit: 0 |
sortix: unknown sendto: EADDRNOTAVAIL |
§ sendto-null | aix: good sendto: EDESTADDRREQ |
dragonfly: good sendto: EDESTADDRREQ |
freebsd: good sendto: EDESTADDRREQ |
haiku: bad sendto: EINVAL |
hurd: bad sendto: ENOTCONN |
linux: good sendto: EDESTADDRREQ |
macos: good sendto: EDESTADDRREQ |
minix: good sendto: EDESTADDRREQ |
netbsd: good sendto: EDESTADDRREQ |
openbsd: good sendto: EDESTADDRREQ |
openindiana-omnios: good sendto: EDESTADDRREQ |
sortix: good sendto: EDESTADDRREQ |
§ shutdown | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown exit: 0 |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown exit: 0 |
netbsd: unknown exit: 0 |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown exit: 0 |
§ shutdown-r-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ shutdown-r-send | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown exit: 0 |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown exit: 0 |
netbsd: unknown exit: 0 |
openbsd: unknown exit: 0 |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown exit: 0 |
§ shutdown-rw-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown EOF |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown EOF |
netbsd: unknown EOF |
openbsd: unknown EOF |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown EOF |
§ shutdown-rw-send | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown sendto: EPIPE SIGPIPE |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown sendto: EPIPE |
netbsd: unknown sendto: EPIPE SIGPIPE |
openbsd: unknown sendto: EPIPE SIGPIPE |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown sendto: EPIPE SIGPIPE |
§ shutdown-w-recv | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown recv: EWOULDBLOCK |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown recv: EWOULDBLOCK |
netbsd: unknown recv: EWOULDBLOCK |
openbsd: unknown recv: EWOULDBLOCK |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown recv: EWOULDBLOCK |
§ shutdown-w-send | aix: unknown shutdown: ENOTCONN |
dragonfly: unknown sendto: EPIPE SIGPIPE |
freebsd: unknown shutdown: ENOTCONN |
haiku: bad shutdown: ENOTSUP |
hurd: unknown shutdown: ENOTCONN |
linux: unknown shutdown: ENOTCONN |
macos: unknown shutdown: ENOTCONN |
minix: unknown sendto: EPIPE |
netbsd: unknown sendto: EPIPE SIGPIPE |
openbsd: unknown sendto: EPIPE SIGPIPE |
openindiana-omnios: unknown shutdown: ENOTCONN |
sortix: unknown sendto: EPIPE SIGPIPE |
§ so-error | aix: good SO_ERROR: no error |
dragonfly: good SO_ERROR: no error |
freebsd: good SO_ERROR: no error |
haiku: good SO_ERROR: no error |
hurd: good SO_ERROR: no error |
linux: good SO_ERROR: no error |
macos: good SO_ERROR: no error |
minix: good SO_ERROR: no error |
netbsd: good SO_ERROR: no error |
openbsd: good SO_ERROR: no error |
openindiana-omnios: good SO_ERROR: no error |
sortix: good SO_ERROR: no error |
§ trio-connect-send-right-x-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
openindiana-omnios: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ trio-connect-send-right-x-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
openbsd: good x |
openindiana-omnios: good x |
sortix: good x |
§ trio-connect-send-wrong-y-poll | aix: good 0 | POLLOUT |
dragonfly: good 0 | POLLOUT |
freebsd: good 0 | POLLOUT |
haiku: good 0 | POLLOUT |
hurd: good 0 | POLLOUT |
linux: good 0 | POLLOUT |
macos: good 0 | POLLOUT |
minix: good 0 | POLLOUT |
netbsd: good 0 | POLLOUT |
openbsd: good 0 | POLLOUT |
openindiana-omnios: good 0 | POLLOUT |
sortix: good 0 | POLLOUT |
§ trio-connect-send-wrong-y-recv | aix: good recv: EWOULDBLOCK |
dragonfly: good recv: EWOULDBLOCK |
freebsd: good recv: EWOULDBLOCK |
haiku: good recv: EWOULDBLOCK |
hurd: good recv: EWOULDBLOCK |
linux: good recv: EWOULDBLOCK |
macos: good recv: EWOULDBLOCK |
minix: good recv: EWOULDBLOCK |
netbsd: good recv: EWOULDBLOCK |
openbsd: good recv: EWOULDBLOCK |
openindiana-omnios: good recv: EWOULDBLOCK |
sortix: good recv: EWOULDBLOCK |
§ trio-connect-send-wrong-y-send-right-x-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
openindiana-omnios: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ trio-connect-send-wrong-y-send-right-x-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
openbsd: good x |
openindiana-omnios: good x |
sortix: good x |
§ trio-send-right-x-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
openindiana-omnios: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ trio-send-right-x-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
openbsd: good x |
openindiana-omnios: good x |
sortix: good x |
§ trio-send-right-x-send-wrong-y-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
openindiana-omnios: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ trio-send-right-x-send-wrong-y-recv | aix: good x |
dragonfly: good x |
freebsd: good x |
haiku: good x |
hurd: good x |
linux: good x |
macos: good x |
minix: good x |
netbsd: good x |
openbsd: good x |
openindiana-omnios: good x |
sortix: good x |
§ trio-send-wrong-y-connect-poll | aix: bad 0 | POLLIN | POLLOUT |
dragonfly: bad 0 | POLLIN | POLLOUT |
freebsd: bad 0 | POLLIN | POLLOUT |
haiku: bad 0 | POLLIN | POLLOUT |
hurd: bad 0 | POLLIN | POLLOUT |
linux: bad 0 | POLLIN | POLLOUT |
macos: bad 0 | POLLIN | POLLOUT |
minix: bad 0 | POLLIN | POLLOUT |
netbsd: bad 0 | POLLIN | POLLOUT |
openbsd: bad 0 | POLLIN | POLLOUT |
openindiana-omnios: bad 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLOUT |
§ trio-send-wrong-y-connect-recv | aix: bad y |
dragonfly: bad y |
freebsd: bad y |
haiku: bad y |
hurd: bad y |
linux: bad y |
macos: bad y |
minix: bad y |
netbsd: bad y |
openbsd: bad y |
openindiana-omnios: bad y |
sortix: good recv: EWOULDBLOCK |
§ trio-send-wrong-y-connect-send-right-x-poll | aix: good 0 | POLLIN | POLLOUT |
dragonfly: good 0 | POLLIN | POLLOUT |
freebsd: good 0 | POLLIN | POLLOUT |
haiku: good 0 | POLLIN | POLLOUT |
hurd: good 0 | POLLIN | POLLOUT |
linux: good 0 | POLLIN | POLLOUT |
macos: good 0 | POLLIN | POLLOUT |
minix: good 0 | POLLIN | POLLOUT |
netbsd: good 0 | POLLIN | POLLOUT |
openbsd: good 0 | POLLIN | POLLOUT |
openindiana-omnios: good 0 | POLLIN | POLLOUT |
sortix: good 0 | POLLIN | POLLOUT |
§ trio-send-wrong-y-connect-send-right-x-recv | aix: bad y |
dragonfly: bad y |
freebsd: bad y |
haiku: bad y |
hurd: bad y |
linux: bad y |
macos: bad y |
minix: bad y |
netbsd: bad y |
openbsd: bad y |
openindiana-omnios: bad y |
sortix: good x |
§ unconnect | aix: good exit: 0 |
dragonfly: good exit: 0 |
freebsd: bad unconnect: EAFNOSUPPORT |
haiku: good exit: 0 |
hurd: good exit: 0 |
linux: good exit: 0 |
macos: bad unconnect: EAFNOSUPPORT |
minix: good exit: 0 |
netbsd: bad unconnect: EAFNOSUPPORT |
openbsd: bad unconnect: EAFNOSUPPORT |
openindiana-omnios: bad unconnect: EINVAL |
sortix: good exit: 0 |
§ unconnect-getpeername | aix: good getpeername: ENOTCONN |
dragonfly: good getpeername: ENOTCONN |
freebsd: bad unconnect: EAFNOSUPPORT |
haiku: bad 0.0.0.0:0 |
hurd: good getpeername: ENOTCONN |
linux: good getpeername: ENOTCONN |
macos: bad unconnect: EAFNOSUPPORT |
minix: good getpeername: ENOTCONN |
netbsd: bad unconnect: EAFNOSUPPORT |
openbsd: bad unconnect: EAFNOSUPPORT |
openindiana-omnios: bad unconnect: EINVAL |
sortix: good getpeername: ENOTCONN |
§ unconnect-getsockname | aix: unknown 0.0.0.0:0 |
dragonfly: unknown 0.0.0.0:non-zero |
freebsd: bad unconnect: EAFNOSUPPORT |
haiku: unknown 0.0.0.0:non-zero |
hurd: unknown 0.0.0.0:non-zero |
linux: unknown 0.0.0.0:0 |
macos: bad unconnect: EAFNOSUPPORT |
minix: unknown 0.0.0.0:0 |
netbsd: bad unconnect: EAFNOSUPPORT |
openbsd: bad unconnect: EAFNOSUPPORT |
openindiana-omnios: bad unconnect: EINVAL |
sortix: unknown 0.0.0.0:0 |