mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-21 18:37:58 +03:00
Truly independent web browser
03a8357e84
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 |