aegis
aegis copied to clipboard
currentcGroup()函数
Hi, 我在看internal/cpu/cgroup.go 中的 currentcGroup() 函数时, 我发现了一段奇怪的逻辑,这里的if 和 else 分支, 里面的逻辑是一样的。 虽然在else分支里,通过path.Join()做路径拼接的时候, 多了参数col[2], 但在else分支中,col[2] == "/", 所以这个参数是不起作用的。 这个代码的编写,是故意的吗, 它有什么特殊考虑吗? 还是说代码编写有误? 谢谢。
dir := col[2]
// When dir is not equal to /, it must be in docker
if dir != "/" {
cgroupSet[col[1]] = path.Join(cgroupRootDir, col[1])
if strings.Contains(col[1], ",") {
for _, k := range strings.Split(col[1], ",") {
cgroupSet[k] = path.Join(cgroupRootDir, k)
}
}
} else {
cgroupSet[col[1]] = path.Join(cgroupRootDir, col[1], col[2])
if strings.Contains(col[1], ",") {
for _, k := range strings.Split(col[1], ",") {
cgroupSet[k] = path.Join(cgroupRootDir, k, col[2])
}
}
}