feat: block routine with for loop

This commit is contained in:
Urko 2023-02-26 16:19:12 +01:00
parent 19f17308b1
commit a67ef6f2d8
2 changed files with 9 additions and 15 deletions

10
main.go
View File

@ -35,21 +35,15 @@ func main() {
// Handle termination on ctrl+signalChan // Handle termination on ctrl+signalChan
signalChan := make(chan os.Signal, 1) signalChan := make(chan os.Signal, 1)
signal.Notify(signalChan, os.Interrupt, syscall.SIGTERM) signal.Notify(signalChan, os.Interrupt, syscall.SIGTERM)
go func(errors chan error) {
for { for {
select { select {
case <-signalChan: case <-signalChan:
os.Exit(1) os.Exit(1)
case err := <-errors: case err := <-errors:
if err != nil { if err != nil {
log.Fatalf("watcherIface.Monitor: %s\n", err) log.Printf("watcherIface.Monitor: %s\n", err)
return continue
} }
} }
} }
}(errors)
// TODO: Improve this: Block main goroutine forever.
<-make(chan struct{})
} }