tailscale/tsnet
Brad Fitzpatrick 7f3c1932b5 tsnet: fix panic on race between listener.Close and incoming packet
I saw this panic while writing a new test for #14715:

    panic: send on closed channel

    goroutine 826 [running]:
    tailscale.com/tsnet.(*listener).handle(0x1400031a500, {0x1035fbb00, 0x14000b82300})
            /Users/bradfitz/src/tailscale.com/tsnet/tsnet.go:1317 +0xac
    tailscale.com/wgengine/netstack.(*Impl).acceptTCP(0x14000204700, 0x14000882100)
            /Users/bradfitz/src/tailscale.com/wgengine/netstack/netstack.go:1320 +0x6dc
    created by gvisor.dev/gvisor/pkg/tcpip/transport/tcp.(*Forwarder).HandlePacket in goroutine 807
            /Users/bradfitz/go/pkg/mod/gvisor.dev/gvisor@v0.0.0-20240722211153-64c016c92987/pkg/tcpip/transport/tcp/forwarder.go:98 +0x32c
    FAIL    tailscale.com/tsnet     0.927s

Updates #14715

Change-Id: I9924e0a6c2b801d46ee44eb8eeea0da2f9ea17c4
Signed-off-by: Brad Fitzpatrick <bradfitz@tailscale.com>
2025-01-21 10:32:58 -08:00
..
example tsnet: split user facing and backend logging 2024-05-10 15:29:13 -07:00
example_tshello_test.go tsnet: add examples (#8289) 2023-07-19 12:36:49 -04:00
example_tsnet_test.go tsnet: split user facing and backend logging 2024-05-10 15:29:13 -07:00
tsnet_test.go tsnet: fix panic on race between listener.Close and incoming packet 2025-01-21 10:32:58 -08:00
tsnet.go tsnet: fix panic on race between listener.Close and incoming packet 2025-01-21 10:32:58 -08:00