aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_exec.c')
-rw-r--r--sys/kern/kern_exec.c11
1 files changed, 3 insertions, 8 deletions
diff --git a/sys/kern/kern_exec.c b/sys/kern/kern_exec.c
index 7825448..1466159 100644
--- a/sys/kern/kern_exec.c
+++ b/sys/kern/kern_exec.c
@@ -71,7 +71,7 @@ execve(struct proc *td, const struct execve_args *args)
return error;
/* Mark the thread as running exec */
- td->flags |= (PROC_EXEC | PROC_INEXEC);
+ td->flags |= PROC_EXEC;
/* Create the new stack */
stack = vm_alloc_frame(PROC_STACK_PAGES);
@@ -97,12 +97,7 @@ execve(struct proc *td, const struct execve_args *args)
md_td_stackinit(td, (void *)(stack_top + VM_HIGHER_HALF), &prog);
setregs(td, &prog, stack_top);
- /*
- * Done, reset flags and start the user thread.
- *
- * XXX: PROC_EXEC is unset by the scheduler so it
- * can properly start the new exec'd program.
- */
- td->flags &= ~PROC_INEXEC;
+ /* Done, reset flags and start the user thread */
+ td->flags &= ~PROC_EXEC;
md_td_kick(td);
}