summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorIan Moffett <ian@osmora.org>2025-06-09 16:09:22 -0400
committerIan Moffett <ian@osmora.org>2025-06-09 16:09:22 -0400
commit4be8822bf3eb4b9f1004d898deb4d26b7ee93eec (patch)
treeca2150583cda141743fcced2814756ff2c70c35f /sys
parentdfa11df34bb3523769cb477dc01b338059bd7283 (diff)
kernel: spawn: Set PROC_WAITED before td enqueue
Signed-off-by: Ian Moffett <ian@osmora.org>
Diffstat (limited to 'sys')
-rw-r--r--sys/kern/kern_spawn.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/kern_spawn.c b/sys/kern/kern_spawn.c
index f43a86a..c554cca 100644
--- a/sys/kern/kern_spawn.c
+++ b/sys/kern/kern_spawn.c
@@ -160,6 +160,7 @@ spawn(struct proc *cur, void(*func)(void), void *p, int flags, struct proc **new
mlgdr->nbytes = 0;
RBT_INIT(lgdr_entries, &mlgdr->hd);
newproc->mlgdr = mlgdr;
+ newproc->flags |= PROC_WAITED;
newproc->pid = ++nthreads;
signals_init(newproc);
@@ -167,7 +168,6 @@ spawn(struct proc *cur, void(*func)(void), void *p, int flags, struct proc **new
pid = newproc->pid;
if (ISSET(flags, SPAWN_WAIT)) {
- newproc->flags |= PROC_WAITED;
cur->flags |= PROC_SLEEP;
sched_yield();