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 --- |