merger: Fix a pointer bug that trashed the merge process

Turns out that when iterating in go, &loop_var is the same address every time
This commit is contained in:
Mike Lang
2016-11-24 14:06:24 -08:00
parent ab1d2d2c6d
commit 8f2e3e7d9b

View File

@@ -49,8 +49,8 @@ func (smartMerger) Merge(reports []report.Report) report.Report {
return reports[0]
}
c := make(chan *report.Report, l)
for _, r := range reports {
c <- &r
for i := range reports {
c <- &reports[i]
}
for ; l > 1; l-- {
go func(left, right *report.Report) {