From 9265296b3371bf097723db91a64ae13c5f9bb3bc Mon Sep 17 00:00:00 2001 From: David Anderson Date: Mon, 27 Jul 2020 20:32:45 +0000 Subject: [PATCH] wgengine/magicsock: don't deadlock on shutdown if sending blocks. Signed-off-by: David Anderson --- wgengine/magicsock/magicsock_test.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/wgengine/magicsock/magicsock_test.go b/wgengine/magicsock/magicsock_test.go index 70386b811..571efc59b 100644 --- a/wgengine/magicsock/magicsock_test.go +++ b/wgengine/magicsock/magicsock_test.go @@ -713,7 +713,11 @@ func newPinger(t *testing.T, logf logger.Logf, src, dst *magicStack) (cleanup fu // acceptable to test instead of "every ping must // transit". pkt := tuntest.Ping(dst.IP(t).IPAddr().IP, src.IP(t).IPAddr().IP) - src.tun.Outbound <- pkt + select { + case src.tun.Outbound <- pkt: + case <-ctx.Done(): + return false + } select { case <-dst.tun.Inbound: return true