Merge lp:~sergiusens/goget-ubuntu-touch/downloadRace into lp:goget-ubuntu-touch

Proposed by Sergio Schvezov on 2015-06-24
Status: Merged
Approved by: John Lenton on 2015-06-30
Approved revision: 210
Merged at revision: 199
Proposed branch: lp:~sergiusens/goget-ubuntu-touch/downloadRace
Merge into: lp:goget-ubuntu-touch
Prerequisite: lp:~sergiusens/goget-ubuntu-touch/GrubWithCommonBoot
Diff against target: 37 lines (+9/-7)
1 file modified
ubuntu-device-flash/snappy.go (+9/-7)
To merge this branch: bzr merge lp:~sergiusens/goget-ubuntu-touch/downloadRace
Reviewer Review Type Date Requested Status
John Lenton 2015-06-24 Approve on 2015-06-30
Review via email: mp+262851@code.launchpad.net

Commit Message

Avoid data races when downloading

To post a comment you must log in.
John Lenton (chipaca) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ubuntu-device-flash/snappy.go'
2--- ubuntu-device-flash/snappy.go 2015-06-24 13:56:08 +0000
3+++ ubuntu-device-flash/snappy.go 2015-06-24 13:56:08 +0000
4@@ -470,17 +470,18 @@
5 }
6
7 filesChan := make(chan Files, len(systemImage.Files))
8- defer close(filesChan)
9-
10 sigFiles := ubuntuimage.GetGPGFiles()
11- sigFilesChan := make(chan Files, len(sigFiles))
12- defer close(sigFilesChan)
13
14 fmt.Println("Downloading and setting up...")
15
16- for _, f := range sigFiles {
17- go bitDownloader(f, sigFilesChan, globalArgs.Server, cacheDir)
18- }
19+ go func() {
20+ sigFilesChan := make(chan Files, len(sigFiles))
21+ defer close(sigFilesChan)
22+
23+ for _, f := range sigFiles {
24+ bitDownloader(f, sigFilesChan, globalArgs.Server, cacheDir)
25+ }
26+ }()
27
28 filePathChan := make(chan string, len(systemImage.Files))
29 hwChan := make(chan diskimage.HardwareDescription)
30@@ -503,6 +504,7 @@
31 filePathChan <- f.FilePath
32 }
33 close(hwChan)
34+ close(filesChan)
35 }()
36
37 for _, f := range systemImage.Files {

Subscribers

People subscribed via source and target branches