crosvm/devices
Daniel Verkamp 782087b038 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>
2021-12-15 19:34:07 +00:00
..
src devices: event_loop: delete hung-up events 2021-12-15 19:34:07 +00:00
.build_test_serial
Cargo.toml device: virtio: snd: Add missing handle_irq_resample 2021-12-07 03:33:46 +00:00