Index: cmd/jujud/unit.go |
=== modified file 'cmd/jujud/unit.go' |
--- cmd/jujud/unit.go 2012-10-11 13:32:58 +0000 |
+++ cmd/jujud/unit.go 2012-10-25 10:24:27 +0000 |
@@ -50,7 +50,8 @@ |
func (a *UnitAgent) Run(ctx *cmd.Context) error { |
defer log.Printf("uniter: unit agent exiting") |
defer a.tomb.Done() |
- for a.tomb.Err() == tomb.ErrStillAlive { |
+Loop: |
+ for { |
err := a.runOnce() |
if ug, ok := err.(*UpgradeReadyError); ok { |
if err = ug.ChangeAgentTools(); err == nil { |
@@ -70,6 +71,7 @@ |
select { |
case <-a.tomb.Dying(): |
a.tomb.Kill(err) |
+ break Loop |
case <-time.After(retryDelay): |
log.Printf("uniter: rerunning uniter") |
} |