Skip to content

Commit 66041e6

Browse files
committed
Stop fillRepoChannel when done is closed
Signed-off-by: Javi Fontan <[email protected]>
1 parent 54ddc99 commit 66041e6

File tree

1 file changed

+20
-14
lines changed

1 file changed

+20
-14
lines changed

repository_pool.go

Lines changed: 20 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -165,23 +165,29 @@ func NewRowRepoIter(
165165

166166
func (i *rowRepoIter) fillRepoChannel() {
167167
for {
168-
repo, err := i.repositoryIter.Next()
169-
170-
switch err {
171-
case nil:
172-
i.repos <- repo
173-
continue
174-
175-
case io.EOF:
176-
close(i.repos)
177-
i.err <- io.EOF
168+
select {
169+
case <-i.done:
178170
return
179171

180172
default:
181-
close(i.done)
182-
close(i.repos)
183-
i.err <- err
184-
return
173+
repo, err := i.repositoryIter.Next()
174+
175+
switch err {
176+
case nil:
177+
i.repos <- repo
178+
continue
179+
180+
case io.EOF:
181+
close(i.repos)
182+
i.err <- io.EOF
183+
return
184+
185+
default:
186+
close(i.done)
187+
close(i.repos)
188+
i.err <- err
189+
return
190+
}
185191
}
186192
}
187193
}

0 commit comments

Comments
 (0)