Cloud-hypervisor's hybrid vsock (Unix socket + CONNECT protocol) doesn't support half-close. When recv_pkt() gets a 0-byte read from shutdown(SHUT_WR), it sends VSOCK_OP_SHUTDOWN with both RCV|SEND flags, tearing down the entire connection and killing the response path. Two fixes: - Remove s.shutdown(SHUT_WR) from the vsock proxy - Make guest command handler self-terminating: head -1 | bash. The pipe gives bash a clean EOF after one command line, so it no longer depends on vsock half-close to exit. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| guest | ||
| configuration.nix | ||
| default.nix | ||
| make-erofs-image.nix | ||