Skip to content

Commit 590ed92

Browse files
committed
core/async: fix slice out of bounds
1 parent 5bcb2a5 commit 590ed92

1 file changed

Lines changed: 5 additions & 4 deletions

File tree

intra/core/async.go

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -169,20 +169,21 @@ func All[T any](who string, timeout time.Duration, fs ...WorkCtx[T]) ([]T, []err
169169
Gg(fid, func() {
170170
out, err := f(ctx)
171171
select {
172-
case <-ctx.Done(): // discard out, err
172+
case <-ctx.Done(): // timeout
173+
ch <- &res{fidx: i, err: errTimeout}
173174
case ch <- &res{i, out, err}:
174175
}
175176
}, func() {
176177
select {
177-
case <-ctx.Done(): // discard out, err
178+
case <-ctx.Done(): // timeout
178179
ch <- &res{fidx: i, err: errTimeout}
179180
case ch <- &res{fidx: i, err: errPanic(fid)}:
180181
}
181182
})
182183
}
183184

184-
results := make([]T, 0, len(fs))
185-
errs := make([]error, 0, len(fs))
185+
results := make([]T, len(fs))
186+
errs := make([]error, len(fs))
186187

187188
for range len(fs) {
188189
r := <-ch

0 commit comments

Comments
 (0)