multi: don't access loop variables in goroutines

This commit makes sure that no loop variables or other temporary
variables are accessed directly in a goroutine but are instead passed
into the goroutine through a parameter. This makes sure a copy of the
value is put on the stack and is not changed while the outside loop
continues.
This commit is contained in:
Oliver Gugger
2022-11-21 13:06:24 +01:00
parent e7170ef819
commit ad8e25cbc9
7 changed files with 33 additions and 21 deletions

View File

@@ -347,7 +347,9 @@ out:
//
// TODO(wilmer): add retry logic if rescan fails?
b.wg.Add(1)
go func() {
//nolint:lll
go func(msg *chainntnfs.HistoricalConfDispatch) {
defer b.wg.Done()
confDetails, _, err := b.historicalConfDetails(
@@ -372,7 +374,7 @@ out:
if err != nil {
chainntnfs.Log.Error(err)
}
}()
}(msg)
case *blockEpochRegistration:
chainntnfs.Log.Infof("New block epoch subscription")