summaryrefslogtreecommitdiff
path: root/cmd/svgu/svgu.go
diff options
context:
space:
mode:
authorNicolas Paul <n@nc0.fr>2023-05-31 23:55:49 +0200
committerNicolas Paul <n@nc0.fr>2023-05-31 23:55:49 +0200
commit553823a62a61b0155a352d5a1964f97ffdbfc6d6 (patch)
tree5d4e6435c920c3d4aa1758d4c5d5084a9793b025 /cmd/svgu/svgu.go
parenteef84422175de47923ab40009a406cb9d70f6d1c (diff)
Fix race conditions
Signed-off-by: Nicolas Paul <n@nc0.fr>
Diffstat (limited to 'cmd/svgu/svgu.go')
-rw-r--r--cmd/svgu/svgu.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/cmd/svgu/svgu.go b/cmd/svgu/svgu.go
index a9d81f6..cd765e8 100644
--- a/cmd/svgu/svgu.go
+++ b/cmd/svgu/svgu.go
@@ -15,7 +15,7 @@ var (
cfg = flag.String("c", "DOMAINS.star", "the configuration file to use.")
out = flag.String("o", "dst", "output directory")
verbose = flag.Bool("v", false, "prints additional information logs")
-) // todo(nc0): verbose
+)
func main() {
log.SetFlags(0)
@@ -86,14 +86,18 @@ func main() {
}
var wg sync.WaitGroup
+ var mu sync.Mutex
for _, mod := range idx.Modules {
wg.Add(1)
go func(m *types.Module) {
defer wg.Done()
+ defer mu.Unlock()
+
+ mu.Lock()
if err := m.GenerateFile(*out, idx.Domain); err != nil {
log.Fatalf("could not generate module %q: %v", m.Path, err)
}
- }(&mod)
+ }(mod)
}
wg.Wait()