pkg/pidfile: reduce cyclomatic complexity, and small optimisation

Use bytes.TrimSpace instead of using the strings package, which is
more performant, and allows us to skip the intermediate variable.

Also combined some "if" statements to reduce cyclomatic complexity.

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2022-10-08 19:17:53 +02:00
parent 4917bcc039
commit dd8983f96c
No known key found for this signature in database
GPG Key ID: 76698F39D527CE8C
1 changed files with 4 additions and 6 deletions

View File

@ -4,11 +4,11 @@
package pidfile // import "github.com/docker/docker/pkg/pidfile"
import (
"bytes"
"fmt"
"os"
"path/filepath"
"strconv"
"strings"
"github.com/docker/docker/pkg/system"
)
@ -26,11 +26,9 @@ func checkPIDFileAlreadyExists(path string) error {
}
return err
}
pidString := strings.TrimSpace(string(pidByte))
if pid, err := strconv.Atoi(pidString); err == nil {
if processExists(pid) {
return fmt.Errorf("pid file found, ensure docker is not running or delete %s", path)
}
pid, err := strconv.Atoi(string(bytes.TrimSpace(pidByte)))
if err == nil && processExists(pid) {
return fmt.Errorf("pid file found, ensure docker is not running or delete %s", path)
}
return nil
}