mirror of
https://github.com/Jguer/yay
synced 2024-10-05 23:59:13 +00:00
prevent leaking goroutines
This commit is contained in:
parent
260594f42a
commit
c8a74cb4a4
|
@ -172,12 +172,22 @@ func (v *InfoStore) NeedsUpdate(infos OriginInfoByURL) bool {
|
|||
// if we find an update we use this to exit early and return true
|
||||
hasUpdate := make(chan struct{})
|
||||
|
||||
closed := make(chan struct{})
|
||||
defer close(closed)
|
||||
|
||||
checkHash := func(url string, info OriginInfo) {
|
||||
hash := v.getCommit(url, info.Branch, info.Protocols)
|
||||
|
||||
var sendTo chan<- struct{}
|
||||
if hash != "" && hash != info.SHA {
|
||||
hasUpdate <- struct{}{}
|
||||
sendTo = hasUpdate
|
||||
} else {
|
||||
finished <- struct{}{}
|
||||
sendTo = finished
|
||||
}
|
||||
|
||||
select {
|
||||
case sendTo <- struct{}{}:
|
||||
case <-closed:
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue