vmspawn: close host vsock fd once we passed it to the child

Without this I qemu simply froze in a weird state for me if I kill it:
it was supposedly a zombie, but we'd get the pidfd POLLIN event for it
only once the fd is closed. Hence let's close it right-away.

(Smells like a kernel issue actually, but too lazy to bother with this).
This commit is contained in:
Lennart Poettering 2024-01-19 18:05:32 +01:00
parent 02aacdcf96
commit c7c6b6f28c

View file

@ -696,6 +696,9 @@ static int run_virtual_machine(void) {
_exit(EXIT_FAILURE);
}
/* Close the vsock fd we passed to qemu in the parent. We don't need it anymore. */
child_vsock_fd = safe_close(child_vsock_fd);
int exit_status = INT_MAX;
if (use_vsock) {
r = setup_notify_parent(event, vsock_fd, &exit_status, &notify_event_source);