commit | 782087b038663f562b59d7f89b6df2ed5cb0b96f | [log] [tgz] |
---|---|---|
author | Daniel Verkamp <dverkamp@chromium.org> | Fri Dec 10 15:01:34 2021 -0800 |
committer | Commit Bot <commit-bot@chromium.org> | Wed Dec 15 19:34:07 2021 +0000 |
tree | a9d2d6695cbffe6f651f5b09e0a135a28df0cb28 | |
parent | 9c7fd949962dd4e5a1a64a44adc0270e77a27dc1 [diff] |
devices: event_loop: delete hung-up events When a file descriptor is returned from the poll context that has the hungup flag set, it should no longer be polled. Remove it from both the poll context and the map of handlers when hangup occurs. Additionally, instead of stopping the whole event loop when an event handler error occurs, just remove the failing event handler from the watched set and continue. This should improve robustness of the USB controller emulation. BUG=chromium:1278424 TEST=Share USB device with Crostini via vmc, then physically unplug Change-Id: Iccaae0ea24b43d0b5e593ca2fe4418eb3892300a Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/3335302 Reviewed-by: Dmitry Torokhov <dtor@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Chirantan Ekbote <chirantan@chromium.org> Commit-Queue: Daniel Verkamp <dverkamp@chromium.org>
crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the Chrome OS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.
crosvm is currently used to run Linux/Android guests on Chrome OS devices.