Skip to content

Commit

Permalink
Merge pull request #1772 from filbranden/systemd1
Browse files Browse the repository at this point in the history
Fix systemd.Apply() to check for DBus error before waiting on a channel.
  • Loading branch information
crosbymichael committed Apr 10, 2018
2 parents cc4307a + 8ab251f commit 3cbb2fa
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions libcontainer/cgroups/systemd/apply_systemd.go
Original file line number Diff line number Diff line change
Expand Up @@ -297,16 +297,16 @@ func (m *Manager) Apply(pid int) error {
}

statusChan := make(chan string)
if _, err := theConn.StartTransientUnit(unitName, "replace", properties, statusChan); err != nil && !isUnitExists(err) {
if _, err := theConn.StartTransientUnit(unitName, "replace", properties, statusChan); err == nil {
select {
case <-statusChan:
case <-time.After(time.Second):
logrus.Warnf("Timed out while waiting for StartTransientUnit(%s) completion signal from dbus. Continuing...", unitName)
}
} else if !isUnitExists(err) {
return err
}

select {
case <-statusChan:
case <-time.After(time.Second):
logrus.Warnf("Timed out while waiting for StartTransientUnit completion signal from dbus. Continuing...")
}

if err := joinCgroups(c, pid); err != nil {
return err
}
Expand Down

0 comments on commit 3cbb2fa

Please sign in to comment.