diff options
author | jhb <jhb@FreeBSD.org> | 2003-04-17 22:28:28 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2003-04-17 22:28:28 +0000 |
commit | c94962975bf64ebaaf76de7d9de1dba25825bc1d (patch) | |
tree | 5d82fa487d5a1cb9d8e1c9c5ccfaeb73692f6c6c /sys/kern/kern_kthread.c | |
parent | 08b81c369f074b87a2acdcfe29cc90467979838c (diff) | |
download | FreeBSD-src-c94962975bf64ebaaf76de7d9de1dba25825bc1d.zip FreeBSD-src-c94962975bf64ebaaf76de7d9de1dba25825bc1d.tar.gz |
fork1() already sets PS_INMEM, so don't set it again. This lets us push
sched_lock down slightly so that it isn't needed in the RFSTOPPED case.
Diffstat (limited to 'sys/kern/kern_kthread.c')
-rw-r--r-- | sys/kern/kern_kthread.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/kern/kern_kthread.c b/sys/kern/kern_kthread.c index e785d0b..46fa97c 100644 --- a/sys/kern/kern_kthread.c +++ b/sys/kern/kern_kthread.c @@ -109,12 +109,11 @@ kthread_create(void (*func)(void *), void *arg, TD_SET_CAN_RUN(td); /* Delay putting it on the run queue until now. */ - mtx_lock_spin(&sched_lock); - p2->p_sflag |= PS_INMEM; if (!(flags & RFSTOPPED)) { + mtx_lock_spin(&sched_lock); setrunqueue(td); + mtx_unlock_spin(&sched_lock); } - mtx_unlock_spin(&sched_lock); return 0; } |