Merge pull request #2716 from kolyshkin/fix-warn

libct: suppress bogus "unable to terminate" warnings
This commit is contained in:
Mrunal Patel
2021-01-21 21:12:17 -08:00
committed by GitHub
+13 -2
View File
@@ -2067,9 +2067,20 @@ func ignoreTerminateErrors(err error) error {
if err == nil {
return nil
}
// terminate() might return an error from ether Kill or Wait.
// The (*Cmd).Wait documentation says: "If the command fails to run
// or doesn't complete successfully, the error is of type *ExitError".
// Filter out such errors (like "exit status 1" or "signal: killed").
var exitErr *exec.ExitError
if errors.As(err, &exitErr) {
return nil
}
// TODO: use errors.Is(err, os.ErrProcessDone) here and
// remove "process already finished" string comparison below
// once go 1.16 is minimally supported version.
s := err.Error()
if strings.Contains(s, "signal: killed") ||
strings.Contains(s, "process already finished") ||
if strings.Contains(s, "process already finished") ||
strings.Contains(s, "Wait was already called") {
return nil
}