diff --git a/sys/thread.c b/sys/thread.c index 9710a2b..131e2db 100644 --- a/sys/thread.c +++ b/sys/thread.c @@ -271,6 +271,7 @@ void thread_sigenter(int signum) { context_sigenter(thr->signal_entry, signal_rsp3, signum); thr->data.rsp0_top = old_rsp0_top; + get_cpu()->tss->rsp0 = thr->data.rsp0_top; } __attribute__((noreturn)) void sys_exit(int status) {