Skip to content
This repository was archived by the owner on Apr 10, 2025. It is now read-only.

creack/goselect

Repository files navigation

go-select

select(2) implementation in Go.

Keeping the repository for reference, but please, consider moving to something more modern and portable than select(2).

Supported platforms

386 amd64 arm arm64 mips mipsle mips64 mips64le ppc64le s390x
linux yes yes yes yes yes yes yes yes yes yes
darwin yes yes ?? ?? n/a n/a n/a n/a n/a n/a
freebsd yes yes yes n/a n/a n/a n/a n/a n/a n/a
openbsd yes yes yes n/a n/a n/a n/a n/a n/a n/a
netbsd yes yes yes n/a n/a n/a n/a n/a n/a n/a
dragonfly n/a yes n/a n/a n/a n/a n/a n/a n/a n/a
solaris n/a no n/a n/a n/a n/a n/a n/a n/a n/a
plan9 no no no n/a n/a n/a n/a n/a n/a n/a
windows yes yes n/a n/a n/a n/a n/a n/a n/a n/a
android ?? ?? ?? ?? n/a n/a n/a n/a n/a n/a

*n/a: platform not supported by Go *??: not tested

Go on plan9 and solaris do not implement syscall.Select nor syscall.SYS_SELECT.

Cross compile test

Note that this only tests the compilation, not the functionality.

$> ./test_crosscompile.sh > /dev/null | sort
[OK] android/386
[OK] android/amd64
[OK] android/arm
[OK] android/arm64
[OK] darwin/386
[OK] darwin/amd64
[OK] darwin/arm
[OK] darwin/arm64
[OK] dragonfly/amd64
[OK] freebsd/386
[OK] freebsd/amd64
[OK] freebsd/arm
[OK] linux/386
[OK] linux/amd64
[OK] linux/arm
[OK] linux/arm64
[OK] linux/mips
[OK] linux/mips64
[OK] linux/mips64le
[OK] linux/mipsle
[OK] linux/ppc64le
[OK] linux/s390x
[OK] netbsd/386
[OK] netbsd/amd64
[OK] netbsd/arm
[OK] openbsd/386
[OK] openbsd/amd64
[OK] openbsd/arm
[OK] plan9/386
[OK] plan9/amd64
[OK] plan9/arm
[OK] solaris/amd64
[OK] windows/386
[OK] windows/amd64
[OK] windows/arm

# Expected failures.
[KO] android/mips
[KO] android/mips64
[KO] android/mips64le
[KO] android/mipsle
[KO] android/ppc64le
[KO] android/s390x
[KO] darwin/mips
[KO] darwin/mips64
[KO] darwin/mips64le
[KO] darwin/mipsle
[KO] darwin/ppc64le
[KO] darwin/s390x
[KO] dragonfly/386
[KO] dragonfly/arm
[KO] dragonfly/arm64
[KO] dragonfly/mips
[KO] dragonfly/mips64
[KO] dragonfly/mips64le
[KO] dragonfly/mipsle
[KO] dragonfly/ppc64le
[KO] dragonfly/s390x
[KO] freebsd/arm64
[KO] freebsd/mips
[KO] freebsd/mips64
[KO] freebsd/mips64le
[KO] freebsd/mipsle
[KO] freebsd/ppc64le
[KO] freebsd/s390x
[KO] netbsd/arm64
[KO] netbsd/mips
[KO] netbsd/mips64
[KO] netbsd/mips64le
[KO] netbsd/mipsle
[KO] netbsd/ppc64le
[KO] netbsd/s390x
[KO] openbsd/arm64
[KO] openbsd/mips
[KO] openbsd/mips64
[KO] openbsd/mips64le
[KO] openbsd/mipsle
[KO] openbsd/ppc64le
[KO] openbsd/s390x
[KO] plan9/arm64
[KO] plan9/mips
[KO] plan9/mips64
[KO] plan9/mips64le
[KO] plan9/mipsle
[KO] plan9/ppc64le
[KO] plan9/s390x
[KO] solaris/386
[KO] solaris/arm
[KO] solaris/arm64
[KO] solaris/mips
[KO] solaris/mips64
[KO] solaris/mips64le
[KO] solaris/mipsle
[KO] solaris/ppc64le
[KO] solaris/s390x
[KO] windows/arm64
[KO] windows/mips
[KO] windows/mips64
[KO] windows/mips64le
[KO] windows/mipsle
[KO] windows/ppc64le
[KO] windows/s390x

License

Released under the MIT license.

About

select(2) implementation in Go

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 9