aboutsummaryrefslogtreecommitdiff
path: root/src/os
diff options
context:
space:
mode:
authorTobias Klauser <tklauser@distanz.ch>2021-10-07 09:55:43 +0200
committerTobias Klauser <tobias.klauser@gmail.com>2021-10-07 20:02:29 +0000
commit0f52292e72ebbb79b2d41c8dca8e23ef9597e17d (patch)
tree3bc551fe06e61716f7afcea7c2a304784098eac2 /src/os
parent4ab3c1065eb38b90247f7ad46160fc5bb07ca2ed (diff)
downloadgo-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.go12
-rw-r--r--src/os/wait_wait6.go4
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