diff options
author | Andreas Kling <awesomekling@gmail.com> | 2018-11-07 19:03:44 +0100 |
---|---|---|
committer | Andreas Kling <awesomekling@gmail.com> | 2018-11-07 19:03:44 +0100 |
commit | c8b308910efa1523f24a935e8d1d38ceb316637f (patch) | |
tree | bdebdb4b08c78cca51102e43ebb0a9a0f8ade494 /Kernel | |
parent | dd887e158bbd4ed2b3dc2ff78c2c29f5b7e8f4de (diff) | |
download | serenity-c8b308910efa1523f24a935e8d1d38ceb316637f.zip |
Signals to processes in userspace now work again.
Ugh, how am I going to dispatch signals to processes in the kernel?
Diffstat (limited to 'Kernel')
-rw-r--r-- | Kernel/Process.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Kernel/Process.cpp b/Kernel/Process.cpp index 2468c8814b..4071203e67 100644 --- a/Kernel/Process.cpp +++ b/Kernel/Process.cpp @@ -789,7 +789,7 @@ void Process::dispatch_signal(byte signal) if ((ret_cs & 3) == 0) { // FIXME: Handle send_signal to process currently in kernel code. - kprintf("Boo! dispatch_signal with return to %w:%x\n", ret_cs, ret_eip); + kprintf("Boo! dispatch_signal in %s(%u) with return to %w:%x\n", name().characters(), pid(), ret_cs, ret_eip); ASSERT_NOT_REACHED(); } @@ -827,6 +827,8 @@ void Process::dispatch_signal(byte signal) push_value_on_stack(m_return_from_signal_trampoline.get()); + m_pending_signals &= ~(1 << signal); + dbgprintf("signal: Okay, %s(%u) has been primed\n", name().characters(), pid()); } |