aboutsummaryrefslogtreecommitdiff
path: root/cer.go
diff options
context:
space:
mode:
authorHimbeer <himbeer@disroot.org>2024-09-05 13:30:43 +0200
committerHimbeer <himbeer@disroot.org>2024-09-05 13:35:45 +0200
commit89a3d3440109abdff7a873b07440c0d1c5e9b2c2 (patch)
tree7ee170177c66c70f22b2e33163f43a88a37d7468 /cer.go
parentfdfcd6d8d0fe79138a2e5bf66ae7c476c8db9c75 (diff)
Fix IL generation error handling being unreliable
Diffstat (limited to 'cer.go')
-rw-r--r--cer.go20
1 files changed, 6 insertions, 14 deletions
diff --git a/cer.go b/cer.go
index 51d9f29..255e453 100644
--- a/cer.go
+++ b/cer.go
@@ -11,17 +11,10 @@ package main
import (
"fmt"
"os"
- "sync"
)
-var wg sync.WaitGroup
-
func main() {
- wg.Add(3)
-
- errs := make(chan error)
-
- go readErrs(errs)
+ errs := make(chan error, 1)
toks := make(chan token, 1024)
go lex(os.Stdin, toks, errs)
@@ -40,10 +33,9 @@ func main() {
go generate(<-root, os.Stdout, errs)
- wg.Wait()
-}
-
-func readErrs(errs <-chan error) {
- fmt.Fprintln(os.Stderr, <-errs)
- os.Exit(1)
+ err := <-errs
+ if err != nil {
+ fmt.Fprintln(os.Stderr, err)
+ os.Exit(1)
+ }
}