]> Cypherpunks repositories - gostls13.git/commitdiff
os/signal: reset SIGURG in TestSignal
authorChaoqun Han <hanssccv@gmail.com>
Tue, 23 Nov 2021 14:05:40 +0000 (22:05 +0800)
committerIan Lance Taylor <iant@golang.org>
Tue, 23 Nov 2021 21:39:32 +0000 (21:39 +0000)
Accepting SIGURG signals could cause SIGURG to take up the entire
channel buffer.

Enhance the stability of test cases by:
1.  Stop accepting the SIGURG signal by adding  ‘Reset(sys call.SIGURG)’
2.  Close the c1 chan by adding ‘defer Stop(c1)’ (Another bug, NOT this bug)

Fixes #49724

Change-Id: I909a9993f0f6dd109c15e48a861683b87dfc4ab3
Reviewed-on: https://go-review.googlesource.com/c/go/+/366514
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Trust: Bryan C. Mills <bcmills@google.com>

src/os/signal/signal_test.go

index 3e85d936f8a8c74e858f728bb46a24e85935475a..e6fb24c6a831be007e5dc011161cab2e084c585a 100644 (file)
@@ -136,6 +136,9 @@ func TestSignal(t *testing.T) {
        // Using 10 is arbitrary.
        c1 := make(chan os.Signal, 10)
        Notify(c1)
+       // Stop relaying the SIGURG signals. See #49724
+       Reset(syscall.SIGURG)
+       defer Stop(c1)
 
        // Send this process a SIGWINCH
        t.Logf("sigwinch...")