chore: clean multiple errors handling

This commit is contained in:
Kévin Dunglas 2023-08-08 15:45:09 +02:00
parent 027cdc7b40
commit 8149f191e0

View File

@ -5,6 +5,7 @@ package frankenphp
import "C"
import (
"context"
"errors"
"fmt"
"net/http"
"path/filepath"
@ -46,7 +47,7 @@ func startWorkers(fileName string, nbWorkers int) error {
var (
m sync.RWMutex
errors []error
errs []error
)
l := getLogger()
@ -68,7 +69,7 @@ func startWorkers(fileName string, nbWorkers int) error {
// TODO: this should never happen, maybe can we remove this block?
m.Lock()
defer m.Unlock()
errors = append(errors, fmt.Errorf("workers %q: unable to create main worker request: %w", absFileName, err))
errs = append(errs, fmt.Errorf("workers %q: unable to create main worker request: %w", absFileName, err))
return
}
@ -77,7 +78,7 @@ func startWorkers(fileName string, nbWorkers int) error {
if err := ServeHTTP(nil, r); err != nil {
m.Lock()
defer m.Unlock()
errors = append(errors, fmt.Errorf("workers %q: unable to start: %w", absFileName, err))
errs = append(errs, fmt.Errorf("workers %q: unable to start: %w", absFileName, err))
return
}
@ -107,12 +108,12 @@ func startWorkers(fileName string, nbWorkers int) error {
m.Lock()
defer m.Unlock()
if len(errors) == 0 {
if len(errs) == 0 {
return nil
}
// Wrapping multiple errors will be available in Go 1.20: https://github.com/golang/go/issues/53435
return fmt.Errorf("workers %q: error while starting: #%v", fileName, errors)
return fmt.Errorf("workers %q: error while starting: %w", fileName, errors.Join(errs...))
}
func stopWorkers() {