From 697e1fc48816d4286786ecf503f07dee4ab2f718 Mon Sep 17 00:00:00 2001 From: mappu Date: Wed, 16 Oct 2024 18:16:53 +1300 Subject: [PATCH] genbindings/clang: bubble error handling for retry --- cmd/genbindings/clangexec.go | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/cmd/genbindings/clangexec.go b/cmd/genbindings/clangexec.go index 0501a8d6..5a105af6 100644 --- a/cmd/genbindings/clangexec.go +++ b/cmd/genbindings/clangexec.go @@ -39,27 +39,22 @@ func clangExec(ctx context.Context, clangBin, inputHeader string, cflags []strin var wg sync.WaitGroup var inner []interface{} + var innerErr error wg.Add(1) go func() { defer wg.Done() - - inner__, err := clangStripUpToFile(pr, inputHeader) - if err != nil { - panic(err) - } - - inner = inner__ + inner, innerErr = clangStripUpToFile(pr, inputHeader) }() err = cmd.Wait() if err != nil { - panic(err) + return nil, fmt.Errorf("Command: %w", err) } wg.Wait() - return inner, nil + return inner, innerErr } func mustClangExec(ctx context.Context, clangBin, inputHeader string, cflags []string) []interface{} { @@ -71,6 +66,7 @@ func mustClangExec(ctx context.Context, clangBin, inputHeader string, cflags []s log.Printf("WARNING: Clang execution failed: %v", err) time.Sleep(ClangRetryDelay) log.Printf("Retrying...") + continue } // Success