1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 08:37:34 +00:00

Kernel: Add a Finalizer process to take care of dying processes.

Instead of processes themselves getting scheduled to finish dying,
let's have a Finalizer process that wakes up whenever someone is dying.
This way we can do all kinds of lock-taking in process cleanup without
risking reentering the scheduler.
This commit is contained in:
Andreas Kling 2019-02-06 18:45:21 +01:00
parent e05237485c
commit 6cba80510e
5 changed files with 59 additions and 23 deletions

View file

@ -7,6 +7,7 @@ struct RegisterDump;
extern Process* current;
extern Process* g_last_fpu_process;
extern Process* g_finalizer;
class Scheduler {
public: