summaryrefslogtreecommitdiff
path: root/Kernel/VM/SharedInodeVMObject.cpp
diff options
context:
space:
mode:
authorTom <tomut@yahoo.com>2020-08-02 12:08:22 -0600
committerAndreas Kling <kling@serenityos.org>2020-08-02 20:50:29 +0200
commitf011c420c16d4da5775e055ad96430bac1d96610 (patch)
treee5607555638c2244737f5518cbd4792ffe8d96a3 /Kernel/VM/SharedInodeVMObject.cpp
parent6e54d0c072912dd59fdd92f7f28ef90ef21daa1b (diff)
downloadserenity-f011c420c16d4da5775e055ad96430bac1d96610.zip
Kernel: Fix signal delivery when no syscall is made
This fixes a regression introduced by the new software context switching where the Kernel would not deliver a signal unless the process is making system calls. This is because the TSS no longer updates the CS value, so the scheduler never considered delivery as the process always appeared to be in kernel mode. With software context switching we can just set up the signal trampoline at any time and when the processor returns back to user mode it'll get executed. This should fix e.g. killing programs that are stuck in some tight loop that doesn't make any system calls and is only pre-empted by the timer interrupt. Fixes #2958
Diffstat (limited to 'Kernel/VM/SharedInodeVMObject.cpp')
0 files changed, 0 insertions, 0 deletions