diff options
Diffstat (limited to 'sys/kern/kern_exit.c')
-rw-r--r-- | sys/kern/kern_exit.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/sys/kern/kern_exit.c b/sys/kern/kern_exit.c index b9e1641..51b77c4 100644 --- a/sys/kern/kern_exit.c +++ b/sys/kern/kern_exit.c @@ -123,9 +123,7 @@ exit1(td, rv) struct proc *p = td->td_proc; register struct proc *q, *nq; register struct vmspace *vm; -#ifdef KTRACE struct vnode *vtmp; -#endif struct exitlist *ep; GIANT_REQUIRED; @@ -276,6 +274,14 @@ exit1(td, rv) } #endif /* + * Release reference to text vnode + */ + if ((vtmp = p->p_textvp) != NULL) { + p->p_textvp = NULL; + vrele(vtmp); + } + + /* * Remove proc from allproc queue and pidhash chain. * Place onto zombproc. Unlink from parent's child list. */ @@ -576,12 +582,6 @@ loop: (void)chgproccnt(p->p_ucred->cr_ruidinfo, -1, 0); /* - * Release reference to text vnode - */ - if (p->p_textvp) - vrele(p->p_textvp); - - /* * Finally finished with old proc entry. * Unlink it from its process group and free it. */ |