Commit bde1968e authored by Ian Lance Taylor's avatar Ian Lance Taylor

os/signal: use a larger channel buffer for all signals in TestSignal

Now that the runtime can send preemption signals, it is possible that
a channel that asks for all signals can see both SIGURG and SIGHUP
before reading either, in which case one of the signals will be dropped.
We have to use a larger buffer so that the test see the signal it expects.

Fixes #35466

Change-Id: I36271eae0661c421780c72292a5bcbd443ada987
Reviewed-on: https://go-review.googlesource.com/c/go/+/206257
Run-TryBot: Ian Lance Taylor <iant@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: default avatarBryan C. Mills <bcmills@google.com>
parent 11da2b22
......@@ -81,8 +81,10 @@ func TestSignal(t *testing.T) {
syscall.Kill(syscall.Getpid(), syscall.SIGHUP)
waitSig(t, c, syscall.SIGHUP)
// Ask for everything we can get.
c1 := make(chan os.Signal, 1)
// Ask for everything we can get. The buffer size has to be
// more than 1, since the runtime might send SIGURG signals.
// Using 10 is arbitrary.
c1 := make(chan os.Signal, 10)
Notify(c1)
// Send this process a SIGWINCH
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment