prevent leaking goroutines

This commit is contained in:
D1CED 2021-02-18 16:46:40 +01:00 committed by J Guerreiro
parent 260594f42a
commit c8a74cb4a4

View file

@ -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:
}
}