Handle but don't implement scheme cancellation.

This commit is contained in:
4lDO2
2024-03-16 09:56:50 +01:00
parent 92b4cf542e
commit a22fc45c0d
3 changed files with 27 additions and 40 deletions
+5 -2
View File
@@ -13,7 +13,7 @@ pub const MODE_READ: u16 = 0o4;
#[cfg(target_arch = "x86_64")]
use raw_cpuid::CpuId;
use redox_scheme::{Socket, SignalBehavior, SchemeMut};
use redox_scheme::{RequestKind, SchemeMut, SignalBehavior, Socket};
use syscall::data::Stat;
use syscall::flag::EventFlags;
use syscall::{
@@ -380,7 +380,10 @@ fn daemon(daemon: redox_daemon::Daemon) -> ! {
libredox::call::setrens(0, 0).expect("randd: failed to enter null namespace");
while let Some(request) = scheme.socket.next_request(SignalBehavior::Restart).expect("error reading packet") {
let response = request.handle_scheme_mut(&mut scheme);
let RequestKind::Call(call) = request.kind() else {
continue;
};
let response = call.handle_scheme_mut(&mut scheme);
scheme.socket.write_responses(&[response], SignalBehavior::Restart).expect("error writing packet");
}