Nonblocking mail_receive, fix proc_kill scheduling issues
All checks were successful
Build documentation / build-and-deploy (push) Successful in 3m15s

This commit is contained in:
2026-03-17 21:36:09 +01:00
parent 57abf96daf
commit 0b85d3a0da
14 changed files with 121 additions and 60 deletions

View File

@@ -168,13 +168,13 @@ static void intr_exception (struct saved_regs* regs) {
bool do_thiscpu = false;
for (size_t i = 0; i < lengthof (rctx.cpus); i++) {
if (rctx.cpus[i] != NULL && rctx.cpus[i] != thiscpu)
cpu_request_sched (rctx.cpus[i]);
cpu_request_sched (rctx.cpus[i], true);
else
do_thiscpu = true;
}
if (do_thiscpu)
cpu_request_sched (thiscpu);
cpu_request_sched (thiscpu, true);
} else {
spin ();
}
@@ -228,13 +228,13 @@ void intr_handler (void* stack_ptr) {
bool do_thiscpu = false;
for (size_t i = 0; i < lengthof (rctx.cpus); i++) {
if (rctx.cpus[i] != NULL && rctx.cpus[i] != thiscpu)
cpu_request_sched (rctx.cpus[i]);
cpu_request_sched (rctx.cpus[i], user);
else
do_thiscpu = true;
}
if (do_thiscpu)
cpu_request_sched (thiscpu);
cpu_request_sched (thiscpu, user);
}
}
}