Merge branch '18947-githttpd'
[arvados.git] / lib / crunchrun / cgroup.go
index 0b254f5bd7870dcaa188df80ad9552fa1eda83ed..48ec93b8768c0a117f0af60d8433bb30d8f4467c 100644 (file)
@@ -6,16 +6,16 @@ package crunchrun
 
 import (
        "bytes"
+       "fmt"
        "io/ioutil"
-       "log"
 )
 
 // Return the current process's cgroup for the given subsystem.
-func findCgroup(subsystem string) string {
+func findCgroup(subsystem string) (string, error) {
        subsys := []byte(subsystem)
        cgroups, err := ioutil.ReadFile("/proc/self/cgroup")
        if err != nil {
-               log.Fatal(err)
+               return "", err
        }
        for _, line := range bytes.Split(cgroups, []byte("\n")) {
                toks := bytes.SplitN(line, []byte(":"), 4)
@@ -24,10 +24,9 @@ func findCgroup(subsystem string) string {
                }
                for _, s := range bytes.Split(toks[1], []byte(",")) {
                        if bytes.Compare(s, subsys) == 0 {
-                               return string(toks[2])
+                               return string(toks[2]), nil
                        }
                }
        }
-       log.Fatalf("subsystem %q not found in /proc/self/cgroup", subsystem)
-       return ""
+       return "", fmt.Errorf("subsystem %q not found in /proc/self/cgroup", subsystem)
 }