mirror of
https://github.com/RGBCube/serenity
synced 2026-01-12 23:20:59 +00:00
No description
This is dirty but pretty cool! If we have a pending, unmasked signal for a process that's blocked inside the kernel, we set up alternate stacks for that process and unblock it to execute the signal handler. A slightly different return trampoline is used here: since we need to get back into the kernel, a dedicated syscall is used (sys$sigreturn.) This restores the TSS contents of the process to the state it was in while we were originally blocking in the kernel. NOTE: There's currently only one "kernel resume TSS" so signal nesting definitely won't work. |
||
|---|---|---|
| AK | ||
| Base/etc | ||
| ELFLoader | ||
| Kernel | ||
| LibC | ||
| Userland | ||
| VirtualFileSystem | ||
| Widgets | ||
| .gitignore | ||
| Banner.txt | ||