Drop set/get_stdio RPC calls

This commit is contained in:
pjht 2024-11-09 22:13:39 -06:00
parent ae4b3f3d48
commit 230adf0ee0
Signed by: pjht
GPG Key ID: 7B5F6AFBEC7EE78E
2 changed files with 0 additions and 46 deletions

View File

@ -10,7 +10,6 @@ use parking_lot::RwLock;
struct Serv { struct Serv {
fs_map: RwLock<HashMap<String, u64>>, fs_map: RwLock<HashMap<String, u64>>,
mount_list: RwLock<HashMap<PathBuf, (u64, u64)>>, mount_list: RwLock<HashMap<PathBuf, (u64, u64)>>,
process_stdio: RwLock<HashMap<u64, [Option<(u64, u64)>; 3]>>,
syslog_client: syslog_rpc::Client syslog_client: syslog_rpc::Client
} }
@ -87,16 +86,6 @@ impl vfs_rpc::Server for Serv {
Ok(()) Ok(())
} }
} }
fn set_stdio(&self, pid: u64, stdio: [Option<(u64, u64)>; 3]) -> Result<(), Errno> {
self.process_stdio.write().insert(pid, stdio);
Ok(())
}
fn get_stdio(&self, from: u64) -> [Option<(u64, u64)>; 3] {
let stdio = self.process_stdio.read().get(&from).copied().unwrap_or([None; 3]);
stdio
}
} }
fn main() { fn main() {
@ -109,7 +98,6 @@ fn main() {
vfs_rpc::register_server(Box::new(Serv { vfs_rpc::register_server(Box::new(Serv {
fs_map: RwLock::new(HashMap::new()), fs_map: RwLock::new(HashMap::new()),
mount_list: RwLock::new(HashMap::new()), mount_list: RwLock::new(HashMap::new()),
process_stdio: RwLock::new(HashMap::new()),
syslog_client, syslog_client,
})); }));
syscalls::register(0); syscalls::register(0);

View File

@ -16,8 +16,6 @@ pub trait Server: Send + Sync {
fn mount(&self, dev: &Path, kind: &str, path: &Path) -> Result<(), Errno>; fn mount(&self, dev: &Path, kind: &str, path: &Path) -> Result<(), Errno>;
fn open(&self, path: &Path) -> Result<(u64, u64), Errno>; fn open(&self, path: &Path) -> Result<(u64, u64), Errno>;
fn unmount(&self, path: &Path) -> Result<(), Errno>; fn unmount(&self, path: &Path) -> Result<(), Errno>;
fn set_stdio(&self, pid: u64, stdio: [Option<(u64, u64)>; 3]) -> Result<(), Errno>;
fn get_stdio(&self, from: u64) -> [Option<(u64, u64)>; 3];
fn open_dir(&self, path: &Path) -> Result<(u64, u64), Errno>; fn open_dir(&self, path: &Path) -> Result<(u64, u64), Errno>;
} }
@ -69,31 +67,6 @@ impl Client {
.unwrap() .unwrap()
} }
pub fn set_stdio(&self, pid: u64, stdio: [Option<(u64, u64)>; 3]) -> Result<(), Errno> {
postcard::from_bytes(
&rpc::send_call(
self.0,
PROTO,
4,
&postcard::to_stdvec(&(pid, stdio)).unwrap(),
)
.get_return(),
)
.unwrap()
}
pub fn get_stdio(&self) -> [Option<(u64, u64)>; 3] {
postcard::from_bytes(
&rpc::send_call(
self.0,
PROTO,
5,
&[],
)
.get_return(),
)
.unwrap()
}
pub fn open_dir(self, path: &Path) -> Result<(u64, u64), Errno> { pub fn open_dir(self, path: &Path) -> Result<(u64, u64), Errno> {
postcard::from_bytes( postcard::from_bytes(
@ -132,13 +105,6 @@ fn callback(call: IncomingCall) {
let path = postcard::from_bytes(call.args()).unwrap(); let path = postcard::from_bytes(call.args()).unwrap();
let ret = postcard::to_stdvec(&server.unmount(path)).unwrap(); let ret = postcard::to_stdvec(&server.unmount(path)).unwrap();
call.send_return(&ret); call.send_return(&ret);
} else if call.func == 4 {
let (pid, stdio) = postcard::from_bytes(call.args()).unwrap();
let ret = postcard::to_stdvec(&server.set_stdio(pid, stdio)).unwrap();
call.send_return(&ret);
} else if call.func == 5 {
let ret = postcard::to_stdvec(&server.get_stdio(call.from)).unwrap();
call.send_return(&ret);
} else if call.func == 6 { } else if call.func == 6 {
let path = postcard::from_bytes(call.args()).unwrap(); let path = postcard::from_bytes(call.args()).unwrap();
let ret = postcard::to_stdvec(&server.open_dir (path)).unwrap(); let ret = postcard::to_stdvec(&server.open_dir (path)).unwrap();