mirror of
https://github.com/gomods/athens
synced 2026-02-03 12:10:32 +00:00
Fix no child processes error (#2048)
This commit is contained in:
@@ -0,0 +1,15 @@
|
||||
package errors
|
||||
|
||||
import "strings"
|
||||
|
||||
// IsNoChildProcessesErr returns true for an error from
|
||||
// exec.Command().Run() that can be safely ignored.
|
||||
// Reference: https://github.com/slimtoolkit/slim/blob/79b63a80c10083ece51be0ef1fd1e7c090ff6346/pkg/util/errutil/errutil.go#L95-L110
|
||||
func IsNoChildProcessesErr(err error) bool {
|
||||
if err == nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return strings.Contains(err.Error(), "wait: no child processes") ||
|
||||
strings.Contains(err.Error(), "waitid: no child processes")
|
||||
}
|
||||
@@ -143,7 +143,7 @@ func downloadModule(
|
||||
cmd.Stderr = stderr
|
||||
|
||||
err := cmd.Run()
|
||||
if err != nil {
|
||||
if err != nil && !errors.IsNoChildProcessesErr(err) {
|
||||
err = fmt.Errorf("%w: %s", err, stderr)
|
||||
var m goModule
|
||||
if jsonErr := json.NewDecoder(stdout).Decode(&m); jsonErr != nil {
|
||||
|
||||
@@ -81,7 +81,7 @@ func (l *vcsLister) List(ctx context.Context, module string) (*storage.RevInfo,
|
||||
cmd.Env = prepareEnv(gopath, l.env)
|
||||
|
||||
err = cmd.Run()
|
||||
if err != nil {
|
||||
if err != nil && !errors.IsNoChildProcessesErr(err) {
|
||||
err = fmt.Errorf("%w: %s", err, stderr)
|
||||
if errors.IsErr(timeoutCtx.Err(), context.DeadlineExceeded) {
|
||||
return nil, errors.E(op, err, errors.KindGatewayTimeout)
|
||||
|
||||
Reference in New Issue
Block a user