mirror of
https://github.com/RGBCube/serenity
synced 2025-10-13 18:52:17 +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 |