summaryrefslogtreecommitdiffhomepage
path: root/runsc
diff options
context:
space:
mode:
Diffstat (limited to 'runsc')
-rw-r--r--runsc/boot/loader.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/runsc/boot/loader.go b/runsc/boot/loader.go
index 7de0a84cc..706910d8a 100644
--- a/runsc/boot/loader.go
+++ b/runsc/boot/loader.go
@@ -499,10 +499,12 @@ func (l *Loader) waitContainer(cid string, waitStatus *uint32) error {
// multiple clients to wait on the same container.
l.mu.Lock()
tgid, ok := l.containerRootTGIDs[cid]
- l.mu.Unlock()
if !ok {
+ defer l.mu.Unlock()
return fmt.Errorf("can't find process for container %q in %v", cid, l.containerRootTGIDs)
}
+ l.mu.Unlock()
+
// If the thread either has already exited or exits during waiting,
// consider the container exited.
defer func() {