1/*
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
--- 6 unchanged lines hidden (view full) ---
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 *
21 * Portions Copyright 2010 The FreeBSD Foundation
22 *
23 * $FreeBSD: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c 277915 2015-01-30 05:03:23Z markj $
24 */
25
26/*
27 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
28 * Use is subject to license terms.
29 */
30
31/*
--- 1259 unchanged lines hidden (view full) ---
1291 /*
1292 * We won't be able to acquire a /proc-esque lock on the process
1293 * iff the process is dead and gone. In this case, we rely on the
1294 * provider lock as a point of mutual exclusion to prevent other
1295 * DTrace consumers from disabling this probe.
1296 */
1297 if ((p = pfind(probe->ftp_pid)) != NULL) {
1298#ifdef __FreeBSD__
1299 if (p->p_flag & P_WEXIT) {
1300 PROC_UNLOCK(p);
1301 p = NULL;
1302 } else {
1303 _PHOLD(p);
1304 PROC_UNLOCK(p);
1305 }
1306#endif
1307 }
1308
1309 /*
1310 * Disable all the associated tracepoints (for fully enabled probes).
1311 */
1312 if (probe->ftp_enabled) {
1313 for (i = 0; i < probe->ftp_ntps; i++) {
--- 1420 unchanged lines hidden ---
2 * CDDL HEADER START
3 *
4 * The contents of this file are subject to the terms of the
5 * Common Development and Distribution License (the "License").
6 * You may not use this file except in compliance with the License.
7 *
8 * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
--- 6 unchanged lines hidden (view full) ---
15 * If applicable, add the following below this CDDL HEADER, with the
16 * fields enclosed by brackets "[]" replaced with your own identifying
17 * information: Portions Copyright [yyyy] [name of copyright owner]
18 *
19 * CDDL HEADER END
20 *
21 * Portions Copyright 2010 The FreeBSD Foundation
22 *
23 * $FreeBSD: head/sys/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c 277915 2015-01-30 05:03:23Z markj $
24 */
25
26/*
27 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
28 * Use is subject to license terms.
29 */
30
31/*
--- 1259 unchanged lines hidden (view full) ---
1291 /*
1292 * We won't be able to acquire a /proc-esque lock on the process
1293 * iff the process is dead and gone. In this case, we rely on the
1294 * provider lock as a point of mutual exclusion to prevent other
1295 * DTrace consumers from disabling this probe.
1296 */
1297 if ((p = pfind(probe->ftp_pid)) != NULL) {
1298#ifdef __FreeBSD__
1299 if (p->p_flag & P_WEXIT) {
1300 PROC_UNLOCK(p);
1301 p = NULL;
1302 } else {
1303 _PHOLD(p);
1304 PROC_UNLOCK(p);
1305 }
1306#endif
1307 }
1308
1309 /*
1310 * Disable all the associated tracepoints (for fully enabled probes).
1311 */
1312 if (probe->ftp_enabled) {
1313 for (i = 0; i < probe->ftp_ntps; i++) {
--- 1420 unchanged lines hidden ---