From fa7d1c821f7260985506e1d1e048beeca8694bf0 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Wed, 5 Jul 2023 17:08:00 +0200 Subject: [PATCH] Replace Box with fn in sys: scheme. --- src/scheme/sys/mod.rs | 33 ++++++++++++++++----------------- 1 file changed, 16 insertions(+), 17 deletions(-) diff --git a/src/scheme/sys/mod.rs b/src/scheme/sys/mod.rs index fadbd5babd..5c304131bd 100644 --- a/src/scheme/sys/mod.rs +++ b/src/scheme/sys/mod.rs @@ -1,4 +1,3 @@ -use alloc::boxed::Box; use alloc::collections::BTreeMap; use alloc::vec::Vec; use core::str; @@ -30,33 +29,33 @@ struct Handle { seek: usize } -type SysFn = dyn Fn() -> Result> + Send + Sync; +type SysFn = fn() -> Result>; /// System information scheme pub struct SysScheme { next_id: AtomicUsize, - files: BTreeMap<&'static str, Box>, + files: BTreeMap<&'static str, SysFn>, handles: RwLock> } impl SysScheme { pub fn new() -> SysScheme { - let mut files: BTreeMap<&'static str, Box> = BTreeMap::new(); + let mut files: BTreeMap<&'static str, SysFn> = BTreeMap::new(); - files.insert("block", Box::new(block::resource)); - files.insert("context", Box::new(context::resource)); - files.insert("cpu", Box::new(cpu::resource)); - files.insert("exe", Box::new(exe::resource)); - files.insert("iostat", Box::new(iostat::resource)); - files.insert("irq", Box::new(irq::resource)); - files.insert("log", Box::new(log::resource)); - files.insert("scheme", Box::new(scheme::resource)); - files.insert("scheme_num", Box::new(scheme_num::resource)); - files.insert("syscall", Box::new(syscall::resource)); - files.insert("uname", Box::new(uname::resource)); - files.insert("env", Box::new(|| Ok(Vec::from(crate::init_env())))); + files.insert("block", block::resource); + files.insert("context", context::resource); + files.insert("cpu", cpu::resource); + files.insert("exe", exe::resource); + files.insert("iostat", iostat::resource); + files.insert("irq", irq::resource); + files.insert("log", log::resource); + files.insert("scheme", scheme::resource); + files.insert("scheme_num", scheme_num::resource); + files.insert("syscall", syscall::resource); + files.insert("uname", uname::resource); + files.insert("env", || Ok(Vec::from(crate::init_env()))); #[cfg(any(target_arch = "x86", target_arch = "x86_64"))] - files.insert("spurious_irq", Box::new(interrupt::irq::spurious_irq_resource)); + files.insert("spurious_irq", interrupt::irq::spurious_irq_resource); SysScheme { next_id: AtomicUsize::new(0),