summaryrefslogtreecommitdiffstats
path: root/sys/kern/kern_exit.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern/kern_exit.c')
-rw-r--r--sys/kern/kern_exit.c16
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.
*/
OpenPOWER on IntegriCloud