Deleted Added
full compact
kern_thread.c (292892) kern_thread.c (300043)
1/*-
2 * Copyright (C) 2001 Julian Elischer <julian@freebsd.org>.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
26 * DAMAGE.
27 */
28
29#include "opt_witness.h"
30#include "opt_hwpmc_hooks.h"
31
32#include <sys/cdefs.h>
1/*-
2 * Copyright (C) 2001 Julian Elischer <julian@freebsd.org>.
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

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

25 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
26 * DAMAGE.
27 */
28
29#include "opt_witness.h"
30#include "opt_hwpmc_hooks.h"
31
32#include <sys/cdefs.h>
33__FBSDID("$FreeBSD: head/sys/kern/kern_thread.c 292892 2015-12-29 23:16:20Z jhb $");
33__FBSDID("$FreeBSD: head/sys/kern/kern_thread.c 300043 2016-05-17 09:56:22Z kib $");
34
35#include <sys/param.h>
36#include <sys/systm.h>
37#include <sys/kernel.h>
38#include <sys/lock.h>
39#include <sys/mutex.h>
40#include <sys/proc.h>
41#include <sys/rangelock.h>

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

945 PROC_UNLOCK(p);
946
947 /*
948 * Allow Linux emulation layer to do some work
949 * before thread suicide.
950 */
951 if (__predict_false(p->p_sysent->sv_thread_detach != NULL))
952 (p->p_sysent->sv_thread_detach)(td);
34
35#include <sys/param.h>
36#include <sys/systm.h>
37#include <sys/kernel.h>
38#include <sys/lock.h>
39#include <sys/mutex.h>
40#include <sys/proc.h>
41#include <sys/rangelock.h>

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

945 PROC_UNLOCK(p);
946
947 /*
948 * Allow Linux emulation layer to do some work
949 * before thread suicide.
950 */
951 if (__predict_false(p->p_sysent->sv_thread_detach != NULL))
952 (p->p_sysent->sv_thread_detach)(td);
953 umtx_thread_exit(td);
953 kern_thr_exit(td);
954 panic("stopped thread did not exit");
955 }
956
957 PROC_SLOCK(p);
958 thread_stopped(p);
959 if (P_SHOULDSTOP(p) == P_STOPPED_SINGLE) {
960 if (p->p_numthreads == p->p_suspcount + 1) {

--- 245 unchanged lines hidden ---
954 kern_thr_exit(td);
955 panic("stopped thread did not exit");
956 }
957
958 PROC_SLOCK(p);
959 thread_stopped(p);
960 if (P_SHOULDSTOP(p) == P_STOPPED_SINGLE) {
961 if (p->p_numthreads == p->p_suspcount + 1) {

--- 245 unchanged lines hidden ---