Browse Source

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>
Sebastiaan van Stijn 2 years ago
parent
commit
dd8983f96c
1 changed files with 4 additions and 6 deletions
  1. 4 6
      pkg/pidfile/pidfile.go

+ 4 - 6
pkg/pidfile/pidfile.go

@@ -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
 }