From ab7a3606ad7bbd9e886604636bd6be51cd3fa459 Mon Sep 17 00:00:00 2001 From: muXxer Date: Fri, 17 May 2024 17:19:44 +0200 Subject: [PATCH] Fix panic send on closed channel in DockerTestFramework --- .../tests/dockertestframework/framework.go | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/tools/docker-network/tests/dockertestframework/framework.go b/tools/docker-network/tests/dockertestframework/framework.go index cafc4ae32..b5b547998 100644 --- a/tools/docker-network/tests/dockertestframework/framework.go +++ b/tools/docker-network/tests/dockertestframework/framework.go @@ -138,8 +138,11 @@ func (d *DockerTestFramework) Run() error { ch := make(chan error) stopCh := make(chan struct{}) - defer close(ch) - defer close(stopCh) + + defer func() { + close(stopCh) + close(ch) + }() ts := time.Now() go func() { @@ -149,10 +152,14 @@ func (d *DockerTestFramework) Run() error { select { case <-stopCh: return + default: + select { + case <-stopCh: + return + case ch <- err: + } } - - ch <- err }() timer := time.NewTimer(d.optsWaitForSync)