Implement on_close method of SchemeSync instead of using a separate method

This commit is contained in:
bjorn3
2026-04-19 10:41:23 +02:00
parent 80233d0d62
commit 6686c73d26
9 changed files with 14 additions and 20 deletions
@@ -978,9 +978,7 @@ impl<T: GraphicsAdapter> SchemeSync for GraphicsSchemeInner<T> {
let ptr = T::map_dumb_buffer(&mut self.adapter, framebuffer);
Ok(unsafe { ptr.add(offset as usize) } as usize)
}
}
impl<T: GraphicsAdapter> GraphicsSchemeInner<T> {
fn on_close(&mut self, id: usize) {
self.handles.remove(id);
}
+2 -1
View File
@@ -13,7 +13,8 @@ use event::EventQueue;
use inputd::ConsumerHandleEvent;
use libredox::errno::EAGAIN;
use orbclient::Event;
use redox_scheme::{scheme::SchemeState, RequestKind, SignalBehavior, Socket};
use redox_scheme::scheme::{SchemeState, SchemeSync};
use redox_scheme::{RequestKind, SignalBehavior, Socket};
use crate::scheme::FbbootlogScheme;
@@ -249,7 +249,3 @@ impl SchemeSync for FbbootlogScheme {
Ok(buf.len())
}
}
impl FbbootlogScheme {
pub fn on_close(&mut self, _id: usize) {}
}
+1 -1
View File
@@ -11,7 +11,7 @@ use pci_types::{
PciHeader as TyPciHeader, PciPciBridgeHeader,
};
use redox_scheme::{
scheme::{register_sync_scheme, SchemeState},
scheme::{register_sync_scheme, SchemeState, SchemeSync},
RequestKind, SignalBehavior,
};
+1 -3
View File
@@ -304,10 +304,8 @@ impl SchemeSync for PciScheme {
_ => Err(Error::new(EBADF)),
}
}
}
impl PciScheme {
pub fn on_close(&mut self, id: usize) {
fn on_close(&mut self, id: usize) {
match self.handles.remove(id) {
Some(HandleWrapper {
inner: Handle::Channel { addr, .. },
+2 -2
View File
@@ -38,7 +38,7 @@ use pcid_interface::irq_helpers::{
use pcid_interface::{PciFeature, PciFeatureInfo, PciFunctionHandle};
use redox_scheme::{
scheme::{register_sync_scheme, SchemeState},
scheme::{register_sync_scheme, SchemeState, SchemeSync},
RequestKind, SignalBehavior, Socket,
};
@@ -180,7 +180,7 @@ fn daemon_with_context_size<const N: usize>(
.expect("xhcid: failed to write scheme");
}
RequestKind::OnClose { id } => {
hci.on_close(id);
(&*hci).on_close(id);
}
_ => {}
}
+4 -3
View File
@@ -2350,12 +2350,13 @@ impl<const N: usize> SchemeSync for &Xhci<N> {
_ => Err(Error::new(EBADF)),
}
}
}
impl<const N: usize> Xhci<N> {
pub fn on_close(&self, fd: usize) {
fn on_close(&mut self, fd: usize) {
self.handles.remove(&fd);
}
}
impl<const N: usize> Xhci<N> {
pub fn get_endp_status(&self, port_num: PortId, endp_num: u8) -> Result<EndpointStatus> {
let port_state = self.port_states.get(&port_num).ok_or(Error::new(EBADFD))?;
+2 -1
View File
@@ -3,7 +3,8 @@ use std::{env, process};
mod filesystem;
mod scheme;
use redox_scheme::{scheme::SchemeState, RequestKind, SignalBehavior};
use redox_scheme::scheme::{SchemeState, SchemeSync};
use redox_scheme::{RequestKind, SignalBehavior};
use self::scheme::Scheme;
+2 -3
View File
@@ -677,9 +677,8 @@ impl SchemeSync for Scheme {
_ => Err(Error::new(EOPNOTSUPP)),
}
}
}
impl Scheme {
pub fn on_close(&mut self, fd: usize) {
fn on_close(&mut self, fd: usize) {
let Some(Handle::Inode(inode)) = self.handles.remove(fd) else {
return;
};