diff options
author | dillon <dillon@FreeBSD.org> | 2001-11-12 08:42:20 +0000 |
---|---|---|
committer | dillon <dillon@FreeBSD.org> | 2001-11-12 08:42:20 +0000 |
commit | 9a4e2a07a8235ef5d01865b7802dd8149eeb6058 (patch) | |
tree | 8f8e6a4e83f6b556c24dd4d218c06ec715172f34 /sys/kern/kern_kthread.c | |
parent | 54721434df82333886cc6315afa403c22f5ec26d (diff) | |
download | FreeBSD-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.c | 7 |
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)); } |