kern_exit.c (6ec62361c80acdb862d56812d4582481b1d8d46e) kern_exit.c (a5881ea55a2c554fd584cf985d99e92ad1db8737)
1/*
2 * Copyright (c) 1982, 1986, 1989, 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 121 unchanged lines hidden (view full) ---

130 struct exitlist *ep;
131 struct proc *p, *nq, *q;
132 struct tty *tp;
133 struct vnode *ttyvp;
134 register struct vmspace *vm;
135 struct vnode *vtmp;
136#ifdef KTRACE
137 struct vnode *tracevp;
1/*
2 * Copyright (c) 1982, 1986, 1989, 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 * (c) UNIX System Laboratories, Inc.
5 * All or some portions of this file are derived from material licensed
6 * to the University of California by American Telephone and Telegraph
7 * Co. or Unix System Laboratories, Inc. and are reproduced herein with
8 * the permission of UNIX System Laboratories, Inc.

--- 121 unchanged lines hidden (view full) ---

130 struct exitlist *ep;
131 struct proc *p, *nq, *q;
132 struct tty *tp;
133 struct vnode *ttyvp;
134 register struct vmspace *vm;
135 struct vnode *vtmp;
136#ifdef KTRACE
137 struct vnode *tracevp;
138 struct ucred *tracecred;
138#endif
139
140 GIANT_REQUIRED;
141
142 p = td->td_proc;
143 if (p == initproc) {
144 printf("init died (signal %d, exit %d)\n",
145 WTERMSIG(rv), WEXITSTATUS(rv));

--- 208 unchanged lines hidden (view full) ---

354 (void)acct_process(td);
355#ifdef KTRACE
356 /*
357 * release trace file
358 */
359 PROC_LOCK(p);
360 mtx_lock(&ktrace_mtx);
361 p->p_traceflag = 0; /* don't trace the vrele() */
139#endif
140
141 GIANT_REQUIRED;
142
143 p = td->td_proc;
144 if (p == initproc) {
145 printf("init died (signal %d, exit %d)\n",
146 WTERMSIG(rv), WEXITSTATUS(rv));

--- 208 unchanged lines hidden (view full) ---

355 (void)acct_process(td);
356#ifdef KTRACE
357 /*
358 * release trace file
359 */
360 PROC_LOCK(p);
361 mtx_lock(&ktrace_mtx);
362 p->p_traceflag = 0; /* don't trace the vrele() */
362 tracevp = p->p_tracep;
363 p->p_tracep = NULL;
363 tracevp = p->p_tracevp;
364 p->p_tracevp = NULL;
365 tracecred = p->p_tracecred;
366 p->p_tracecred = NULL;
364 mtx_unlock(&ktrace_mtx);
365 PROC_UNLOCK(p);
366 if (tracevp != NULL)
367 vrele(tracevp);
367 mtx_unlock(&ktrace_mtx);
368 PROC_UNLOCK(p);
369 if (tracevp != NULL)
370 vrele(tracevp);
371 if (tracecred != NULL)
372 crfree(tracecred);
368#endif
369 /*
370 * Release reference to text vnode
371 */
372 if ((vtmp = p->p_textvp) != NULL) {
373 p->p_textvp = NULL;
374 vrele(vtmp);
375 }

--- 492 unchanged lines hidden ---
373#endif
374 /*
375 * Release reference to text vnode
376 */
377 if ((vtmp = p->p_textvp) != NULL) {
378 p->p_textvp = NULL;
379 vrele(vtmp);
380 }

--- 492 unchanged lines hidden ---