commit | e70ee9591464a41ea203ab9e71ba367ec9ea7ac3 | [log] [tgz] |
---|---|---|
author | Bryan C. Mills <bcmills@google.com> | Wed Feb 16 10:24:42 2022 -0500 |
committer | Dmitri Shuralyov <dmitshur@golang.org> | Wed Feb 16 21:38:42 2022 +0000 |
tree | ef3a9d69ed1a2211a7ef1eeea20685cd76399357 | |
parent | 39d2f50919674f4e450486f4dc1b291d5cd2a35e [diff] |
[release-branch.go1.18] os: eliminate arbitrary sleep in Kill tests The test spawned a subprocess that arbitrarily slept for one second. However, on some platforms, longer than one second may elapse between starting the subprocess and sending the termination signal. Instead, the subprocess now closes stdout and reads stdin until EOF, eliminating the need for an arbitrary duration. (If the parent test times out, the stdin pipe will break, so the subprocess still won't leak forever.) This also makes the test much faster in the typical case: since it uses synchronization instead of sleeping, it can run as quickly as the host OS can start and kill the process. Updates #44131. Change-Id: I9753571438380dc14fc3531efdaea84578a47fae Reviewed-on: https://go-review.googlesource.com/c/go/+/386174 Trust: Bryan Mills <bcmills@google.com> Run-TryBot: Bryan Mills <bcmills@google.com> Reviewed-by: Ian Lance Taylor <iant@golang.org> TryBot-Result: Gopher Robot <gobot@golang.org> (cherry picked from commit eaf040502b763a6f00dced35e4173c2ce90eb52f) Reviewed-on: https://go-review.googlesource.com/c/go/+/386196 Trust: Dmitri Shuralyov <dmitshur@golang.org> Reviewed-by: Bryan Mills <bcmills@google.com> Reviewed-by: Heschi Kreinick <heschi@google.com>
Go is an open source programming language that makes it easy to build simple, reliable, and efficient software.
Gopher image by Renee French, licensed under Creative Commons 3.0 Attributions license.
Our canonical Git repository is located at https://go.googlesource.com/go. There is a mirror of the repository at https://github.com/golang/go.
Unless otherwise noted, the Go source files are distributed under the BSD-style license found in the LICENSE file.
Official binary distributions are available at https://golang.org/dl/.
After downloading a binary release, visit https://golang.org/doc/install for installation instructions.
If a binary distribution is not available for your combination of operating system and architecture, visit https://golang.org/doc/install/source for source installation instructions.
Go is the work of thousands of contributors. We appreciate your help!
To contribute, please read the contribution guidelines at https://golang.org/doc/contribute.
Note that the Go project uses the issue tracker for bug reports and proposals only. See https://golang.org/wiki/Questions for a list of places to ask questions about the Go language.