agent/cgroup/utils.go (31 lines of code) (raw):

//+build linux package cgroup import ( "fmt" "io/ioutil" "path/filepath" "strconv" "strings" ) func writeValue(dir, file, data string) error { return ioutil.WriteFile(filepath.Join(dir, file), []byte(data), 0700) } func readInt64Value(dir, file string) (int64, error) { c, err := ioutil.ReadFile(filepath.Join(dir, file)) if err != nil { return 0, err } return strconv.ParseInt(strings.TrimSpace(string(c)), 10, 64) } func parsePairValue(s string) (string, uint64, error) { parts := strings.Fields(s) switch len(parts) { case 2: value, err := strconv.ParseUint(parts[1], 10, 64) if err != nil { return "", 0, fmt.Errorf("Unable to convert param value (%q) to uint64: %v", parts[1], err) } return parts[0], value, nil default: return "", 0, fmt.Errorf("incorrect key-value format: %s", s) } }