Don't rejoin the cgroup each time

Docker-DCO-1.1-Signed-off-by: Michael Crosby <michael@crosbymichael.com> (github: crosbymichael)
This commit is contained in:
Michael Crosby 2014-06-03 15:15:11 -07:00
parent 5d1ebaf4c3
commit 6d28b828ef
1 changed files with 8 additions and 6 deletions

View File

@ -12,18 +12,20 @@ type freezerGroup struct {
}
func (s *freezerGroup) Set(d *data) error {
dir, err := d.join("freezer")
if err != nil {
if err != cgroups.ErrNotFound {
switch d.c.Freezer {
case cgroups.Frozen, cgroups.Thawed:
dir, err := d.path("freezer")
if err != nil {
return err
}
return nil
}
if d.c.Freezer != cgroups.Undefined {
if err := writeFile(dir, "freezer.state", string(d.c.Freezer)); err != nil {
return err
}
default:
if _, err := d.join("freezer"); err != nil && err != cgroups.ErrNotFound {
return err
}
}
return nil