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.
package pidfile // import "github.com/docker/docker/pkg/pidfile"
import (
+ "bytes"
"fmt"
"os"
"path/filepath"
"strconv"
- "strings"
"github.com/docker/docker/pkg/system"
)
@@ -26,12 +26,10 @@ func checkPIDFileAlreadyExists(path string) error {
}
return err
}
- pidString := strings.TrimSpace(string(pidByte))
- if pid, err := strconv.Atoi(pidString); err == nil {
- if processExists(pid) {
+ 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
}
