Merge pull request #1080 from mlaventure/small-cleanup

Simplify task.Wait() a bit
This commit is contained in:
Michael Crosby 2017-06-23 13:00:19 -07:00 committed by GitHub
commit c6a2f14674

14
task.go
View File

@ -147,29 +147,31 @@ func (t *task) Wait(ctx context.Context) (uint32, error) {
return UnknownExitStatus, err return UnknownExitStatus, err
} }
<-t.pidSync <-t.pidSync
evloop:
var e eventsapi.RuntimeEvent
for { for {
evt, err := eventstream.Recv() evt, err := eventstream.Recv()
if err != nil { if err != nil {
return UnknownExitStatus, err return UnknownExitStatus, err
} }
switch { if !events.Is(evt.Event, &eventsapi.RuntimeEvent{}) {
case events.Is(evt.Event, &eventsapi.RuntimeEvent{}): continue
var e eventsapi.RuntimeEvent }
if err := events.UnmarshalEvent(evt.Event, &e); err != nil { if err := events.UnmarshalEvent(evt.Event, &e); err != nil {
return UnknownExitStatus, err return UnknownExitStatus, err
} }
if e.Type != tasktypes.Event_EXIT { if e.Type != tasktypes.Event_EXIT {
continue evloop continue
} }
if e.ID == t.containerID && e.Pid == t.pid { if e.ID == t.containerID && e.Pid == t.pid {
return e.ExitStatus, nil return e.ExitStatus, nil
} }
} }
}
} }
// Delete deletes the task and its runtime state // Delete deletes the task and its runtime state