]> Cypherpunks.ru repositories - gostls13.git/commit
runtime: use pipe2 syscall for Pipe in tests
authorTobias Klauser <tklauser@distanz.ch>
Wed, 18 Nov 2020 07:53:00 +0000 (08:53 +0100)
committerTobias Klauser <tobias.klauser@gmail.com>
Wed, 18 Nov 2020 19:08:11 +0000 (19:08 +0000)
commitee1b51294ab50179b60d6c548ddded5b91cd0cbb
tree2dd7583aa852e0b4c209dbad150e42d0842c2430
parentd3072b838366e7cc6b9af9767d3648f6e62bae8b
runtime: use pipe2 syscall for Pipe in tests

On FreeBSD >= 11 with a kernel built with COMPAT_FREEBSD11 but not
COMPAT_FREEBSD10, the pipe syscall is not available. Thus, tests using
runtime.pipe fail with ENOSYS. As suggested by Ian, fix this by calling
pipe2(0) in these tests and fall back to pipe() in case of ENOSYS.

Fixes #42659

Change-Id: Ifbb8008884b7901fe87830d162ad326122c5fab9
Reviewed-on: https://go-review.googlesource.com/c/go/+/270917
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/runtime/export_pipe2_test.go [new file with mode: 0644]
src/runtime/export_pipe_test.go [new file with mode: 0644]
src/runtime/export_unix_test.go