libct/cg/sd: add renew dbus connection

[@kolyshkin: doc nits, use dbus.ErrClosed and isDbusError]

Signed-off-by: Shiming Zhang <wzshiming@foxmail.com>
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
This commit is contained in:
Shiming Zhang
2021-03-23 09:45:36 +08:00
committed by Kir Kolyshkin
parent bacfc2c2f9
commit 15fee9899f
3 changed files with 34 additions and 0 deletions
+2
View File
@@ -173,6 +173,7 @@ func (m *legacyManager) Apply(pid int) error {
properties = append(properties, c.SystemdProps...)
if err := startUnit(dbusConnection, unitName, properties); err != nil {
m.dbus.checkAndReconnect(dbusConnection, err)
return err
}
@@ -376,6 +377,7 @@ func (m *legacyManager) Set(container *configs.Config) error {
}
if err := dbusConnection.SetUnitProperties(getUnitName(container.Cgroups), true, properties...); err != nil {
m.dbus.checkAndReconnect(dbusConnection, err)
_ = m.Freeze(targetFreezerState)
return err
}