mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-31 13:48:25 +00:00
Unbreak signal delivery to userspace again.
My my, this code is quite fickle.
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
//#define DEBUG_IO
|
||||
//#define TASK_DEBUG
|
||||
//#define FORK_DEBUG
|
||||
//#define SIGNAL_DEBUG
|
||||
#define SIGNAL_DEBUG
|
||||
#define MAX_PROCESS_GIDS 32
|
||||
|
||||
// FIXME: Only do a single validation for accesses that don't span multiple pages.
|
||||
@@ -805,6 +805,9 @@ void Process::dispatch_signal(byte signal)
|
||||
|
||||
m_pending_signals &= ~(1 << signal);
|
||||
|
||||
// FIXME: This state is such a hack. It avoids trouble if 'current' is the process receiving a signal.
|
||||
set_state(Skip1SchedulerPass);
|
||||
|
||||
#ifdef SIGNAL_DEBUG
|
||||
dbgprintf("signal: Okay, %s(%u) {%s} has been primed with signal handler %w:%x\n", name().characters(), pid(), toString(state()), m_tss.cs, m_tss.eip);
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user