diff options
author | Fabricio Voznika <fvoznika@google.com> | 2020-10-05 17:38:49 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2020-10-05 17:40:23 -0700 |
commit | 9e64b9f3a5c162e8cb79096fef9e502d7e9af463 (patch) | |
tree | dc3b9d8802cfcab9b58b9891d0a8cc9bb2b79bf4 /pkg/shim/v2/service_linux.go | |
parent | 8ef7cebcbb6b7a1fa4a8725421cd04f1c73398b1 (diff) |
Fix gofer monitor prematurely destroying container
When all container tasks finish, they release the mount which in turn
will close the 9P session to the gofer. The gofer exits when the connection
closes, triggering the gofer monitor. The gofer monitor will _think_ that
the gofer died prematurely and destroy the container. Then when the caller
attempts to wait for the container, e.g. to get the exit code, wait fails
saying the container doesn't exist.
Gofer monitor now just SIGKILLs the container, and let the normal teardown
process to happen, which will evetually destroy the container at the right
time. Also, fixed an issue with exec racing with container's init process
exiting.
Closes #1487
PiperOrigin-RevId: 335537350
Diffstat (limited to 'pkg/shim/v2/service_linux.go')
0 files changed, 0 insertions, 0 deletions