mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-05-21 18:42:53 +00:00
Kernel: Inherit alternative signal stack on fork(2)
A child process created via fork(2) inherits a copy of its parent's alternate signal stack settings.
This commit is contained in:
parent
92a6c91f4e
commit
0ca1231d8f
Notes:
sideshowbarker
2024-07-17 22:55:13 +09:00
Author: https://github.com/IdanHo
Commit: 0ca1231d8f
Pull-request: https://github.com/SerenityOS/serenity/pull/11216
Reviewed-by: https://github.com/bgianfo ✅
1 changed files with 4 additions and 0 deletions
|
@ -46,6 +46,10 @@ ErrorOr<FlatPtr> Process::sys$fork(RegisterState& regs)
|
|||
// A child created via fork(2) inherits a copy of its parent's signal mask
|
||||
child_first_thread->update_signal_mask(Thread::current()->signal_mask());
|
||||
|
||||
// A child process created via fork(2) inherits a copy of its parent's alternate signal stack settings.
|
||||
child_first_thread->m_alternative_signal_stack = Thread::current()->m_alternative_signal_stack;
|
||||
child_first_thread->m_alternative_signal_stack_size = Thread::current()->m_alternative_signal_stack_size;
|
||||
|
||||
#if ARCH(I386)
|
||||
auto& child_regs = child_first_thread->m_regs;
|
||||
child_regs.eax = 0; // fork() returns 0 in the child :^)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue