mirror of
https://github.com/apple/container.git
synced 2026-10-18 12:09:10 +00:00
The stdout and stdin IOPairs in TerminalIO share the same Terminal fd. Closing stdin first would close the Terminal, causing stdout to read -1 from fileDescriptor and fail to unregister from epoll. This left stale handler closures (capturing the IOPair) in ProcessSupervisor.handlers indefinitely. Additionally, vsock sockets created in TerminalIO.start() with closeOnDeinit disabled were never closed if the process exited before attach() created IOPairs.