diff options
author | Zach Reizner <zachr@google.com> | 2019-07-23 15:55:03 -0700 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2019-07-24 06:07:20 +0000 |
commit | b2110bef59d72529d99c722df9b3e9a1d705e6f4 (patch) | |
tree | e69899bce04e4ade12a33121b84517ee886216f2 /src/linux.rs | |
parent | 229063c2bf2ee365458c8fd5cdda2ab27a23bf98 (diff) | |
download | crosvm-b2110bef59d72529d99c722df9b3e9a1d705e6f4.tar crosvm-b2110bef59d72529d99c722df9b3e9a1d705e6f4.tar.gz crosvm-b2110bef59d72529d99c722df9b3e9a1d705e6f4.tar.bz2 crosvm-b2110bef59d72529d99c722df9b3e9a1d705e6f4.tar.lz crosvm-b2110bef59d72529d99c722df9b3e9a1d705e6f4.tar.xz crosvm-b2110bef59d72529d99c722df9b3e9a1d705e6f4.tar.zst crosvm-b2110bef59d72529d99c722df9b3e9a1d705e6f4.zip |
tree-wide: use PollContext::build_with where possible
The old method of creating a PollContext and calling `add` inside of `and_then` chains was an ugly way handle the Results that can crop up after each call. The `build_with` function is equivalent but operates on a slice which has way less boilerplate. TEST=./build_test BUG=None Change-Id: I8b0d6532680e04c501187397bd211014a2363c25 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/crosvm/+/1715581 Tested-by: Zach Reizner <zachr@chromium.org> Tested-by: kokoro <noreply+kokoro@google.com> Auto-Submit: Zach Reizner <zachr@chromium.org> Reviewed-by: Daniel Verkamp <dverkamp@chromium.org> Commit-Queue: Zach Reizner <zachr@chromium.org>
Diffstat (limited to 'src/linux.rs')
-rw-r--r-- | src/linux.rs | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/src/linux.rs b/src/linux.rs index 8d4a4ae..58a0e10 100644 --- a/src/linux.rs +++ b/src/linux.rs @@ -1432,16 +1432,15 @@ fn run_control( .set_raw_mode() .expect("failed to set terminal raw mode"); - let poll_ctx = PollContext::new().map_err(Error::CreatePollContext)?; - poll_ctx - .add(&linux.exit_evt, Token::Exit) - .map_err(Error::PollContextAdd)?; + let poll_ctx = PollContext::build_with(&[ + (&linux.exit_evt, Token::Exit), + (&sigchld_fd, Token::ChildSignal), + ]) + .map_err(Error::PollContextAdd)?; + if let Err(e) = poll_ctx.add(&stdin_handle, Token::Stdin) { warn!("failed to add stdin to poll context: {}", e); } - poll_ctx - .add(&sigchld_fd, Token::ChildSignal) - .map_err(Error::PollContextAdd)?; if let Some(socket_server) = &control_server_socket { poll_ctx |