diff options
author | Jakub Staron <jstaron@google.com> | 2019-05-09 15:25:45 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-05-23 02:14:58 -0700 |
commit | e6c9558998d47c3e2f981ede07a35e554ceecd89 (patch) | |
tree | c65c753fdf07505093fafd9ad28504a8ff9c02bc /devices/src/virtio/input/mod.rs | |
parent | cf0d298223af6f30fc1e49a4c2367ae1829fd8d2 (diff) | |
download | crosvm-e6c9558998d47c3e2f981ede07a35e554ceecd89.tar crosvm-e6c9558998d47c3e2f981ede07a35e554ceecd89.tar.gz crosvm-e6c9558998d47c3e2f981ede07a35e554ceecd89.tar.bz2 crosvm-e6c9558998d47c3e2f981ede07a35e554ceecd89.tar.lz crosvm-e6c9558998d47c3e2f981ede07a35e554ceecd89.tar.xz crosvm-e6c9558998d47c3e2f981ede07a35e554ceecd89.tar.zst crosvm-e6c9558998d47c3e2f981ede07a35e554ceecd89.zip |
crosvm: Moves logic of consuming a DescriptorHead to Queue.
Moves logic of consuming available descriptor heads from AvailIter to Queue. Adds pop() function to the public interface of the Queue. This will let us remove the used_desc_heads arrays from various virtio device implementations because pop() is not borrowing the queue for the whole loop scope. BUG=None TEST=tast run ${IP} vm.CrostiniStartEverything Change-Id: I8eda48e41b5ec1b2d59f3177435abafb9ad5f3a3 Reviewed-on: https://chromium-review.googlesource.com/1611013 Commit-Ready: Jakub StaroĊ <jstaron@google.com> Tested-by: kokoro <noreply+kokoro@google.com> Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org> Reviewed-by: Zach Reizner <zachr@chromium.org>
Diffstat (limited to 'devices/src/virtio/input/mod.rs')
-rw-r--r-- | devices/src/virtio/input/mod.rs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/devices/src/virtio/input/mod.rs b/devices/src/virtio/input/mod.rs index 9aa60b2..a57776f 100644 --- a/devices/src/virtio/input/mod.rs +++ b/devices/src/virtio/input/mod.rs @@ -408,8 +408,7 @@ impl<T: EventSource> Worker<T> { // Only consume from the queue iterator if we know we have events to send while self.event_source.available_events_count() > 0 { - let mut queue_iter = queue.iter(&self.guest_memory); - match queue_iter.next() { + match queue.pop(&self.guest_memory) { None => { break; } |