]> Cypherpunks repositories - gostls13.git/commitdiff
os: don't use wait6 on netbsd
authorTobias Klauser <tklauser@distanz.ch>
Thu, 7 Oct 2021 07:55:43 +0000 (09:55 +0200)
committerTobias Klauser <tobias.klauser@gmail.com>
Thu, 7 Oct 2021 20:02:29 +0000 (20:02 +0000)
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>
src/os/wait_unimp.go
src/os/wait_wait6.go

index 9bb85da80262b01fef4ce289c3b597caf7e4ba8e..c1f66ca1554d0b8a6282098d985cad2eb9b7e493 100644 (file)
@@ -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
 }
index 45b370a802e8ae1ae14f76d138085e761d35c0b4..51193401f938317d008f13d23d4c448f806b5050 100644 (file)
@@ -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