Ver código fonte

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 anos atrás
pai
commit
dd8983f96c
1 arquivos alterados com 4 adições e 6 exclusões
  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"
 package pidfile // import "github.com/docker/docker/pkg/pidfile"
 
 
 import (
 import (
+	"bytes"
 	"fmt"
 	"fmt"
 	"os"
 	"os"
 	"path/filepath"
 	"path/filepath"
 	"strconv"
 	"strconv"
-	"strings"
 
 
 	"github.com/docker/docker/pkg/system"
 	"github.com/docker/docker/pkg/system"
 )
 )
@@ -26,11 +26,9 @@ func checkPIDFileAlreadyExists(path string) error {
 		}
 		}
 		return err
 		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
 	return nil
 }
 }