summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_kthread.c
diff options
context:
space:
mode:
authordillon <dillon@FreeBSD.org>2001-11-12 08:42:20 +0000
committerdillon <dillon@FreeBSD.org>2001-11-12 08:42:20 +0000
commit9a4e2a07a8235ef5d01865b7802dd8149eeb6058 (patch)
tree8f8e6a4e83f6b556c24dd4d218c06ec715172f34 /sys/kern/kern_kthread.c
parent54721434df82333886cc6315afa403c22f5ec26d (diff)
downloadFreeBSD-src-9a4e2a07a8235ef5d01865b7802dd8149eeb6058.zip
FreeBSD-src-9a4e2a07a8235ef5d01865b7802dd8149eeb6058.tar.gz
When curproc is used repeatedly store curproc into a local
variable to reduce generated code. This is a test case.
Diffstat (limited to 'sys/kern/kern_kthread.c')
-rw-r--r--sys/kern/kern_kthread.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/kern/kern_kthread.c b/sys/kern/kern_kthread.c
index cb715da..becfb76 100644
--- a/sys/kern/kern_kthread.c
+++ b/sys/kern/kern_kthread.c
@@ -119,11 +119,12 @@ kthread_create(void (*func)(void *), void *arg,
void
kthread_exit(int ecode)
{
+ struct proc *p = curproc;
sx_xlock(&proctree_lock);
- PROC_LOCK(curproc);
- proc_reparent(curproc, initproc);
- PROC_UNLOCK(curproc);
+ PROC_LOCK(p);
+ proc_reparent(p, initproc);
+ PROC_UNLOCK(p);
sx_xunlock(&proctree_lock);
exit1(curthread, W_EXITCODE(ecode, 0));
}
OpenPOWER on IntegriCloud