kernel: M1 shared-fate — Task.leader id, kill/signal re-keyed to the leader

Every task carries its process leader's id (main task: own id; threads:
copied from the spawner; kernel tasks: 0, never followed). process_kill and
process_signal resolve any member id to the leader and authorize against the
leader's supervisor, making both capabilities per-process. ProcessDescriptor
gains the leader field. No fan-out yet (docs/shared-fate-plan.md M1).
This commit is contained in:
Daniel Samson
2026-07-22 10:17:13 +01:00
parent e78810195d
commit daca0d9216
4 changed files with 39 additions and 11 deletions
+1
View File
@@ -186,6 +186,7 @@ pub const ProcessState = enum(u32) {
pub const ProcessDescriptor = extern struct {
id: u32, // kernel-assigned process id; never reused (monotonic)
supervisor: u32, // id of the process that spawned it (0 = the kernel)
leader: u32, // process-leader id: == id for a main task, the main task's id for a thread
state: u32, // a ProcessState value
priority: u32,
name_length: u32,