mirror of
https://github.com/RGBCube/serenity
synced 2025-05-16 20:25:07 +00:00
Unbreak signal delivery to userspace again.
My my, this code is quite fickle.
This commit is contained in:
parent
1dbc340da8
commit
27fded7002
1 changed files with 4 additions and 1 deletions
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue