Unverified 提交 8c7c2ceb 作者: Whyrusleeping 提交者: GitHub

Merge pull request #5018 from forstmeier/fix/refs-goroutine-leak

Fix goroutine leaks in refs.go
...@@ -129,7 +129,10 @@ NOTE: List all references recursively by using the flag '-r'. ...@@ -129,7 +129,10 @@ NOTE: List all references recursively by using the flag '-r'.
for _, o := range objs { for _, o := range objs {
if _, err := rw.WriteRefs(o); err != nil { if _, err := rw.WriteRefs(o); err != nil {
out <- &RefWrapper{Err: err.Error()} select {
case out <- &RefWrapper{Err: err.Error()}:
case <-ctx.Done():
}
return return
} }
} }
...@@ -169,7 +172,11 @@ Displays the hashes of all local objects. ...@@ -169,7 +172,11 @@ Displays the hashes of all local objects.
defer close(out) defer close(out)
for k := range allKeys { for k := range allKeys {
out <- &RefWrapper{Ref: k.String()} select {
case out <- &RefWrapper{Ref: k.String()}:
case <-req.Context().Done():
return
}
} }
}() }()
}, },
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论