use alloc::sync::Arc; use system_error::SystemError; use crate::{ exception::{ irqdata::IrqHandlerData, irqdesc::{IrqHandler, IrqReturn}, IrqNumber, }, // net::net_core::poll_ifaces_try_lock_onetime, net::net_core::poll_ifaces, }; /// 默认的网卡中断处理函数 #[derive(Debug)] pub struct DefaultNetIrqHandler; impl IrqHandler for DefaultNetIrqHandler { fn handle( &self, _irq: IrqNumber, _static_data: Option<&dyn IrqHandlerData>, _dynamic_data: Option>, ) -> Result { // poll_ifaces_try_lock_onetime().ok(); poll_ifaces(); Ok(IrqReturn::Handled) } }