summaryrefslogtreecommitdiffhomepage
path: root/runsc
diff options
context:
space:
mode:
Diffstat (limited to 'runsc')
-rw-r--r--runsc/boot/loader.go7
-rw-r--r--runsc/container/multi_container_test.go8
2 files changed, 4 insertions, 11 deletions
diff --git a/runsc/boot/loader.go b/runsc/boot/loader.go
index e47eced18..5867eec96 100644
--- a/runsc/boot/loader.go
+++ b/runsc/boot/loader.go
@@ -573,15 +573,8 @@ func (l *Loader) waitContainer(cid string, waitStatus *uint32) error {
// If the thread either has already exited or exits during waiting,
// consider the container exited.
- // TODO: Multiple calls to waitContainer() should return
- // the same exit status.
ws := l.wait(tg)
*waitStatus = ws
-
- l.mu.Lock()
- defer l.mu.Unlock()
- delete(l.containerRootTGs, cid)
-
return nil
}
diff --git a/runsc/container/multi_container_test.go b/runsc/container/multi_container_test.go
index 0df587e30..2867aa3b9 100644
--- a/runsc/container/multi_container_test.go
+++ b/runsc/container/multi_container_test.go
@@ -152,8 +152,8 @@ func TestMultiContainerWait(t *testing.T) {
} else if es := ws.ExitStatus(); es != 0 {
t.Errorf("process %s exited with non-zero status %d", c.Spec.Process.Args, es)
}
- if _, err := c.Wait(); err == nil {
- t.Errorf("wait for stopped process %s should fail", c.Spec.Process.Args)
+ if _, err := c.Wait(); err != nil {
+ t.Errorf("wait for stopped container %s shouldn't fail: %v", c.Spec.Process.Args, err)
}
}(containers[1])
}
@@ -239,8 +239,8 @@ func TestExecWait(t *testing.T) {
} else if es := ws.ExitStatus(); es != 0 {
t.Fatalf("process %s exited with non-zero status %d", containers[1].Spec.Process.Args, es)
}
- if _, err := containers[1].Wait(); err == nil {
- t.Fatalf("wait for stopped process %s should fail", containers[1].Spec.Process.Args)
+ if _, err := containers[1].Wait(); err != nil {
+ t.Fatalf("wait for stopped container %s shouldn't fail: %v", containers[1].Spec.Process.Args, err)
}
// Execute another process in the first container.