diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2021-10-07 09:55:43 +0200 |
---|---|---|
committer | Tobias Klauser <tobias.klauser@gmail.com> | 2021-10-07 20:02:29 +0000 |
commit | 0f52292e72ebbb79b2d41c8dca8e23ef9597e17d (patch) | |
tree | 3bc551fe06e61716f7afcea7c2a304784098eac2 /src/os | |
parent | 4ab3c1065eb38b90247f7ad46160fc5bb07ca2ed (diff) | |
download | go-0f52292e72ebbb79b2d41c8dca8e23ef9597e17d.tar.gz go-0f52292e72ebbb79b2d41c8dca8e23ef9597e17d.zip |
os: don't use wait6 on netbsd
CL 315281 changed the os package use wait6 on netbsd. This seems to be
causing frequent test failures as reported in #48789. Revert that change
using wait6 on netbsd for now.
Updates #13987
Updates #16028
For #48789
Change-Id: Ieddffc65611c7f449971eaa8ed6f4299a5f742c2
Reviewed-on: https://go-review.googlesource.com/c/go/+/354249
Trust: Tobias Klauser <tobias.klauser@gmail.com>
Trust: Bryan C. Mills <bcmills@google.com>
Trust: Benny Siegert <bsiegert@gmail.com>
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Reviewed-by: Benny Siegert <bsiegert@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/os')
-rw-r--r-- | src/os/wait_unimp.go | 12 | ||||
-rw-r--r-- | src/os/wait_wait6.go | 4 |
2 files changed, 11 insertions, 5 deletions
diff --git a/src/os/wait_unimp.go b/src/os/wait_unimp.go index 9bb85da802..c1f66ca155 100644 --- a/src/os/wait_unimp.go +++ b/src/os/wait_unimp.go @@ -2,8 +2,12 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build aix || darwin || (js && wasm) || openbsd || solaris -// +build aix darwin js,wasm openbsd solaris +// aix, darwin, js/wasm, openbsd and solaris don't implement +// waitid/wait6. netbsd implements wait6, but that is causing test +// failures, see issue #48789. + +//go:build aix || darwin || (js && wasm) || netbsd || openbsd || solaris +// +build aix darwin js,wasm netbsd openbsd solaris package os @@ -11,7 +15,9 @@ package os // succeed immediately, and reports whether it has done so. // It does not actually call p.Wait. // This version is used on systems that do not implement waitid, -// or where we have not implemented it yet. +// or where we have not implemented it yet. Note that this is racy: +// a call to Process.Signal can in an extremely unlikely case send a +// signal to the wrong process, see issue #13987. func (p *Process) blockUntilWaitable() (bool, error) { return false, nil } diff --git a/src/os/wait_wait6.go b/src/os/wait_wait6.go index 45b370a802..51193401f9 100644 --- a/src/os/wait_wait6.go +++ b/src/os/wait_wait6.go @@ -2,8 +2,8 @@ // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. -//go:build dragonfly || freebsd || netbsd -// +build dragonfly freebsd netbsd +//go:build dragonfly || freebsd +// +build dragonfly freebsd package os |