You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Terminate faulting tasks instead of panicking system
The previous panic behavior for unrecoverable faults was intentional
during early development to surface bugs immediately. With the core
functionality now stable, proper task termination is implemented to
uphold the isolation principle.
This change introduces a zombie state for deferred task cleanup. The
fault handler marks the faulting task as terminated and signals the trap
handler to initiate a context switch. The scheduler cleans up terminated
task resources before selecting the next runnable task.
This design addresses the limitation where running tasks cannot be
directly cancelled from interrupt context. By deferring cleanup to the
scheduler, the system ensures proper resource reclamation without
modifying task state during fault handling.
Memory regions are also evicted from hardware protection before being
freed, preventing stale references after task termination.
0 commit comments