Fix: custom signal handler not working

This commit is contained in:
2025-05-06 12:49:44 +08:00
parent d31f5e02fe
commit 7c054743ce
7 changed files with 48 additions and 32 deletions

View File

@@ -108,6 +108,8 @@ process_t *fork_process(const process_t *from)
process_t *ret = _make_process();
memcpy(ret->stack, from->stack, from->stack_size);
memcpy(ret->mem, from->mem, from->mem_size);
memcpy(ret->sigstack, from->sigstack, from->sigstack_size);
memcpy(ret->sighandlers, from->sighandlers, sizeof(from->sighandlers));
*ret->regs = (trapframe_t){
.x0 = 0, // fork return value
.fp = from->regs->fp - (uint64_t)from->stack + (uint64_t)ret->stack,