Kernel: More signal handling improvements.

Finally fixed the weird flaky crashing when resizing Terminal windows.
It was because we were dispatching a signal to "current" from the scheduler.
Yet another thing I dislike about even having a "current" process while
we're in the scheduler. Not sure yet how to fix this.

Let the signal handler's kernel stack be a kmalloc() allocation for now.
Once we can do allocation of consecutive physical pages in the supervisor
memory region, we can use that for all types of kernel stacks.
This commit is contained in:
Andreas Kling 2019-03-05 12:50:55 +01:00
commit 91031346e5
Notes: sideshowbarker 2024-07-19 15:32:59 +09:00
6 changed files with 93 additions and 55 deletions

View file

@ -75,6 +75,8 @@ void Painter::fill_rect(const Rect& a_rect, Color color)
if (rect.is_empty())
return;
ASSERT(m_target->rect().contains(rect));
RGBA32* dst = m_target->scanline(rect.top()) + rect.left();
const unsigned dst_skip = m_target->width();