Skip to content

Commit 8c7c2ce

Browse files
Merge pull request #5018 from forstmeier/fix/refs-goroutine-leak
Fix goroutine leaks in refs.go
2 parents 06f11bd + 20b06c2 commit 8c7c2ce

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

core/commands/refs.go

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,7 +129,10 @@ NOTE: List all references recursively by using the flag '-r'.
129129

130130
for _, o := range objs {
131131
if _, err := rw.WriteRefs(o); err != nil {
132-
out <- &RefWrapper{Err: err.Error()}
132+
select {
133+
case out <- &RefWrapper{Err: err.Error()}:
134+
case <-ctx.Done():
135+
}
133136
return
134137
}
135138
}
@@ -169,7 +172,11 @@ Displays the hashes of all local objects.
169172
defer close(out)
170173

171174
for k := range allKeys {
172-
out <- &RefWrapper{Ref: k.String()}
175+
select {
176+
case out <- &RefWrapper{Ref: k.String()}:
177+
case <-req.Context().Done():
178+
return
179+
}
173180
}
174181
}()
175182
},

0 commit comments

Comments
 (0)