From: Brad Fitzpatrick Date: Wed, 12 Mar 2025 04:14:01 +0000 (-0700) Subject: net: deflake recently added TestCloseUnblocksReadUDP X-Git-Tag: go1.25rc1~732 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=485480faaac82e4179f7b56c1c370020157f25a8;p=gostls13.git net: deflake recently added TestCloseUnblocksReadUDP Fixes #72802 Change-Id: I0dd457ef81a354f61c9de306e4609efdbe3d69b4 Reviewed-on: https://go-review.googlesource.com/c/go/+/656857 Auto-Submit: Brad Fitzpatrick Reviewed-by: Damien Neil Reviewed-by: Ian Lance Taylor TryBot-Bypass: Brad Fitzpatrick --- diff --git a/src/net/net_test.go b/src/net/net_test.go index 705ac45c6b..bca6c99074 100644 --- a/src/net/net_test.go +++ b/src/net/net_test.go @@ -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() })