osbuild/builder: check deferred serve.

Make sure to keep track of the deferred error for serve.
This commit is contained in:
Simon de Vlieger 2024-02-09 10:11:41 +01:00 committed by Sanne Raymaekers
parent 323d3a1f9c
commit b9b476c430

View file

@ -421,12 +421,24 @@ func main() {
Host: argBuilderHost,
Port: argBuilderPort,
}
go builder.Serve()
for state := range builder.StateChannel {
if state == StateDone {
logrus.Info("main: Shutting down successfully.")
os.Exit(ExitOk)
errs := make(chan error, 1)
go func(errs chan<- error) {
if err := builder.Serve(); err != nil {
errs <- err
}
}(errs)
for {
select {
case state := <-builder.StateChannel:
if state == StateDone {
logrus.Info("main: Shutting down successfully.")
os.Exit(ExitOk)
}
case err := <-errs:
logrus.Fatal(err)
}
}
}