]> Cypherpunks repositories - gostls13.git/commitdiff
net: deflake recently added TestCloseUnblocksReadUDP
authorBrad Fitzpatrick <bradfitz@golang.org>
Wed, 12 Mar 2025 04:14:01 +0000 (21:14 -0700)
committerGopher Robot <gobot@golang.org>
Wed, 12 Mar 2025 18:02:25 +0000 (11:02 -0700)
Fixes #72802

Change-Id: I0dd457ef81a354f61c9de306e4609efdbe3d69b4
Reviewed-on: https://go-review.googlesource.com/c/go/+/656857
Auto-Submit: Brad Fitzpatrick <bradfitz@golang.org>
Reviewed-by: Damien Neil <dneil@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
TryBot-Bypass: Brad Fitzpatrick <bradfitz@golang.org>

src/net/net_test.go

index 705ac45c6b7bfffa34fafb9fc5e48f14cb1f64f6..bca6c99074bc8d512033c793c697908695f713fc 100644 (file)
@@ -11,6 +11,7 @@ import (
        "net/internal/socktest"
        "os"
        "runtime"
+       "sync"
        "testing"
        "time"
 )
@@ -511,11 +512,25 @@ func TestCloseUnblocksRead(t *testing.T) {
 // Issue 72770: verify that a blocked UDP read is woken up by a Close.
 func TestCloseUnblocksReadUDP(t *testing.T) {
        t.Parallel()
+       var (
+               mu   sync.Mutex
+               done bool
+       )
+       defer func() {
+               mu.Lock()
+               defer mu.Unlock()
+               done = true
+       }()
        pc, err := ListenPacket("udp", "127.0.0.1:0")
        if err != nil {
                t.Fatal(err)
        }
        time.AfterFunc(250*time.Millisecond, func() {
+               mu.Lock()
+               defer mu.Unlock()
+               if done {
+                       return
+               }
                t.Logf("closing conn...")
                pc.Close()
        })