Skip to content
This repository was archived by the owner on Jan 24, 2025. It is now read-only.

Commit ab7a360

Browse files
committed
Fix panic send on closed channel in DockerTestFramework
1 parent 4cce1bd commit ab7a360

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

tools/docker-network/tests/dockertestframework/framework.go

+11-4
Original file line numberDiff line numberDiff line change
@@ -138,8 +138,11 @@ func (d *DockerTestFramework) Run() error {
138138

139139
ch := make(chan error)
140140
stopCh := make(chan struct{})
141-
defer close(ch)
142-
defer close(stopCh)
141+
142+
defer func() {
143+
close(stopCh)
144+
close(ch)
145+
}()
143146

144147
ts := time.Now()
145148
go func() {
@@ -149,10 +152,14 @@ func (d *DockerTestFramework) Run() error {
149152
select {
150153
case <-stopCh:
151154
return
155+
152156
default:
157+
select {
158+
case <-stopCh:
159+
return
160+
case ch <- err:
161+
}
153162
}
154-
155-
ch <- err
156163
}()
157164

158165
timer := time.NewTimer(d.optsWaitForSync)

0 commit comments

Comments
 (0)