Skip to content

Commit 75ea770

Browse files
committed
refactor: stop passing around std::io::Stdin objects
std::io::Stdin is a singleton, a programm cannot have more than one stdin. Just replace the usage with a call to std::io::stdin() Signed-off-by: Patrick Roy <[email protected]>
1 parent aa1c77b commit 75ea770

File tree

2 files changed

+3
-5
lines changed

2 files changed

+3
-5
lines changed

src/vmm/src/builder.rs

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ fn create_vmm_and_vcpus(
163163
set_stdout_nonblocking();
164164

165165
// Serial device setup.
166-
let serial_device = setup_serial_device(event_manager, std::io::stdin(), io::stdout())?;
166+
let serial_device = setup_serial_device(event_manager, io::stdout())?;
167167

168168
// x86_64 uses the i8042 reset event as the Vmm exit event.
169169
let reset_evt = vcpus_exit_evt.try_clone().map_err(VmmError::EventFd)?;
@@ -554,7 +554,6 @@ pub fn build_microvm_from_snapshot(
554554
/// Sets up the serial device.
555555
pub fn setup_serial_device(
556556
event_manager: &mut EventManager,
557-
input: std::io::Stdin,
558557
out: std::io::Stdout,
559558
) -> Result<Arc<Mutex<BusDevice>>, VmmError> {
560559
let interrupt_evt = EventFdTrigger::new(EventFd::new(EFD_NONBLOCK).map_err(VmmError::EventFd)?);
@@ -568,7 +567,7 @@ pub fn setup_serial_device(
568567
},
569568
SerialOut::Stdout(out),
570569
),
571-
input: Some(input),
570+
input: Some(std::io::stdin()),
572571
})));
573572
event_manager.add_subscriber(serial.clone());
574573
Ok(serial)
@@ -629,7 +628,7 @@ fn attach_legacy_devices_aarch64(
629628
if cmdline_contains_console {
630629
// Make stdout non-blocking.
631630
set_stdout_nonblocking();
632-
let serial = setup_serial_device(event_manager, std::io::stdin(), std::io::stdout())?;
631+
let serial = setup_serial_device(event_manager, std::io::stdout())?;
633632
vmm.mmio_device_manager
634633
.register_mmio_serial(vmm.vm.fd(), &mut vmm.resource_allocator, serial, None)
635634
.map_err(VmmError::RegisterMMIODevice)?;

src/vmm/src/device_manager/persist.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,6 @@ impl<'a> Persist<'a> for MMIODeviceManager {
405405
if state.type_ == DeviceType::Serial {
406406
let serial = crate::builder::setup_serial_device(
407407
constructor_args.event_manager,
408-
std::io::stdin(),
409408
std::io::stdout(),
410409
)?;
411410

0 commit comments

Comments
 (0)