X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/aa67abb537f22db097db632d98212fa951bfeef0..d1b1c8d9119229dbeed06cd252917e54a1cb77f6:/lunaix-os/kernel/exe/exec.c?ds=inline diff --git a/lunaix-os/kernel/exe/exec.c b/lunaix-os/kernel/exe/exec.c index 813d5c3..0f6e4ec 100644 --- a/lunaix-os/kernel/exe/exec.c +++ b/lunaix-os/kernel/exe/exec.c @@ -263,13 +263,13 @@ __DEFINE_LXSYSCALL3(int, // we will jump to new entry point (_u_start) upon syscall's // return so execve 'will not return' from the perspective of it's invoker - eret_target(current_thread) = container.exe.entry; - eret_stack(current_thread) = container.stack_top; + hart_flow_redirect(current_thread->hstate, + container.exe.entry, container.stack_top); // these become meaningless once execved! current_thread->ustack_top = 0; signal_reset_context(¤t_thread->sigctx); - signal_reset_register(__current->sigreg); + signal_reset_registry(__current->sigreg); done: // set return value