Skip to content

Commit 557f50a

Browse files
committed
Remove need for WaitGroup
1 parent ee832ef commit 557f50a

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

internal/exec/exec.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -312,20 +312,20 @@ func (r *Request) execList(ctx context.Context, sels []selected.Selection, typ *
312312
l := resolver.Len()
313313
entryouts := make([]bytes.Buffer, l)
314314

315-
sem := make(chan struct{}, cap(r.Limiter))
316315
if selected.HasAsyncSel(sels) {
317-
var wg sync.WaitGroup
318-
wg.Add(l)
316+
concurrency := cap(r.Limiter)
317+
sem := make(chan struct{}, concurrency)
319318
for i := 0; i < l; i++ {
320319
sem <- struct{}{}
321320
go func(i int) {
322321
defer func() { <-sem }()
323-
defer wg.Done()
324322
defer r.handlePanic(ctx)
325323
r.execSelectionSet(ctx, sels, typ.OfType, &pathSegment{path, i}, s, resolver.Index(i), &entryouts[i])
326324
}(i)
327325
}
328-
wg.Wait()
326+
for i := 0; i < concurrency;i++ {
327+
sem <- struct{}{}
328+
}
329329
} else {
330330
for i := 0; i < l; i++ {
331331
r.execSelectionSet(ctx, sels, typ.OfType, &pathSegment{path, i}, s, resolver.Index(i), &entryouts[i])

0 commit comments

Comments
 (0)