fix: sched round-robin, cap slot OOB panic, clippy, make ci

- RunList -> intrusive FIFO, no starvation, no silent drop
- cap table sized to CapSlot range (kani caught OOB panic)
- snake food color test uses const
- kani cfg lint, RUST_MIN_STACK for big kernel struct in tests
This commit is contained in:
2026-10-26 19:08:30 +01:00
parent 1c04ddf909
commit e931485ca7
32 changed files with 384 additions and 251 deletions

View File

@@ -113,15 +113,19 @@ impl EndpointTable {
}
pub fn remove_thread_from_all(&mut self, thread: ThreadId) {
for slot in &mut self.endpoints {
if let Some(ep) = slot {
ep.remove_sender(thread);
ep.remove_receiver(thread);
}
for ep in self.endpoints.iter_mut().flatten() {
ep.remove_sender(thread);
ep.remove_receiver(thread);
}
}
}
impl Default for EndpointTable {
fn default() -> Self {
Self::new()
}
}
pub trait MessagePassing {
fn send(
&mut self,

View File

@@ -44,3 +44,9 @@ impl WaitQueue {
self.count == 0
}
}
impl Default for WaitQueue {
fn default() -> Self {
Self::new()
}
}