mirror of
https://github.com/opencontainers/runc.git
synced 2026-07-12 09:46:25 +08:00
@@ -264,7 +264,7 @@ func (m *manager) Set(container *configs.Config) error {
|
||||
// Freeze toggles the container's freezer cgroup depending on the state
|
||||
// provided
|
||||
func (m *manager) Freeze(state configs.FreezerState) (Err error) {
|
||||
path := m.GetPaths()["freezer"]
|
||||
path := m.Path("freezer")
|
||||
if m.cgroups == nil || path == "" {
|
||||
return errors.New("cannot toggle freezer: cgroups not configured for container")
|
||||
}
|
||||
@@ -382,8 +382,7 @@ func (m *manager) GetCgroups() (*configs.Cgroup, error) {
|
||||
}
|
||||
|
||||
func (m *manager) GetFreezerState() (configs.FreezerState, error) {
|
||||
paths := m.GetPaths()
|
||||
dir := paths["freezer"]
|
||||
dir := m.Path("freezer")
|
||||
freezer, err := m.getSubsystems().Get("freezer")
|
||||
|
||||
// If the container doesn't have the freezer cgroup, say it's undefined.
|
||||
@@ -394,5 +393,5 @@ func (m *manager) GetFreezerState() (configs.FreezerState, error) {
|
||||
}
|
||||
|
||||
func (m *manager) Exists() bool {
|
||||
return cgroups.PathExists(m.paths["devices"])
|
||||
return cgroups.PathExists(m.Path("devices"))
|
||||
}
|
||||
|
||||
@@ -112,6 +112,8 @@ func (m *legacyManager) Apply(pid int) error {
|
||||
properties []systemdDbus.Property
|
||||
)
|
||||
|
||||
m.mu.Lock()
|
||||
defer m.mu.Unlock()
|
||||
if c.Paths != nil {
|
||||
paths := make(map[string]string)
|
||||
for name, path := range c.Paths {
|
||||
@@ -465,5 +467,5 @@ func (m *legacyManager) GetFreezerState() (configs.FreezerState, error) {
|
||||
}
|
||||
|
||||
func (m *legacyManager) Exists() bool {
|
||||
return cgroups.PathExists(m.paths["devices"])
|
||||
return cgroups.PathExists(m.Path("devices"))
|
||||
}
|
||||
|
||||
@@ -51,12 +51,8 @@ func (m *mockCgroupManager) Destroy() error {
|
||||
}
|
||||
|
||||
func (m *mockCgroupManager) Exists() bool {
|
||||
paths := m.GetPaths()
|
||||
if paths != nil {
|
||||
_, err := os.Lstat(paths["devices"])
|
||||
return err == nil
|
||||
}
|
||||
return false
|
||||
_, err := os.Lstat(m.Path("devices"))
|
||||
return err == nil
|
||||
}
|
||||
|
||||
func (m *mockCgroupManager) GetPaths() map[string]string {
|
||||
|
||||
Reference in New Issue
Block a user