003 File Manager
Current Path:
/usr/src/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/usdt
usr
/
src
/
cddl
/
contrib
/
opensolaris
/
cmd
/
dtrace
/
test
/
tst
/
common
/
usdt
/
📁
..
📄
argmap.d
(1.02 KB)
📄
args.d
(1016 B)
📄
forker.d
(1000 B)
📄
prov.d
(37 B)
📄
prov.h
(665 B)
📄
tst.andpid.ksh
(1.17 KB)
📄
tst.argmap.c
(1.02 KB)
📄
tst.argmap.d
(1.58 KB)
📄
tst.args.c
(1.02 KB)
📄
tst.args.d
(1.29 KB)
📄
tst.badguess.ksh
(1.74 KB)
📄
tst.corruptenv.ksh
(2.06 KB)
📄
tst.dlclose1.ksh
(2.7 KB)
📄
tst.dlclose1.ksh.out
(143 B)
📄
tst.dlclose2.ksh
(2.8 KB)
📄
tst.dlclose2.ksh.out
(18 B)
📄
tst.dlclose3.ksh
(2.67 KB)
📄
tst.eliminate.ksh
(2.03 KB)
📄
tst.enabled.ksh
(1.81 KB)
📄
tst.enabled.ksh.out
(14 B)
📄
tst.enabled2.ksh
(2.09 KB)
📄
tst.enabled2.ksh.out
(19 B)
📄
tst.entryreturn.ksh
(2.27 KB)
📄
tst.entryreturn.ksh.out
(429 B)
📄
tst.fork.ksh
(1.93 KB)
📄
tst.fork.ksh.out
(40 B)
📄
tst.forker.c
(1.15 KB)
📄
tst.forker.ksh
(1.31 KB)
📄
tst.guess32.ksh
(1.84 KB)
📄
tst.guess64.ksh
(1.9 KB)
📄
tst.header.ksh
(1.75 KB)
📄
tst.include.ksh
(1.28 KB)
📄
tst.linkpriv.ksh
(1.94 KB)
📄
tst.linkunpriv.ksh
(1.96 KB)
📄
tst.multiple.ksh
(1.86 KB)
📄
tst.multiple.ksh.out
(53 B)
📄
tst.multiprov.ksh
(1.93 KB)
📄
tst.multiprov.ksh.out
(27 B)
📄
tst.nodtrace.ksh
(1.83 KB)
📄
tst.noprobes.ksh
(1.25 KB)
📄
tst.noreap.ksh
(2.24 KB)
📄
tst.noreapring.ksh
(2.32 KB)
📄
tst.onlyenabled.ksh
(1.65 KB)
📄
tst.reap.ksh
(2.15 KB)
📄
tst.reeval.ksh
(1.74 KB)
📄
tst.sameprovmulti.ksh
(1.79 KB)
📄
tst.sameprovmulti.ksh.out
(40 B)
📄
tst.static.ksh
(1.85 KB)
📄
tst.static.ksh.out
(67 B)
📄
tst.static2.ksh
(2.19 KB)
📄
tst.static2.ksh.out
(67 B)
📄
tst.user.ksh
(1.83 KB)
📄
tst.user.ksh.out
(14 B)
Editing: tst.reap.ksh
# # CDDL HEADER START # # The contents of this file are subject to the terms of the # Common Development and Distribution License (the "License"). # You may not use this file except in compliance with the License. # # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE # or http://www.opensolaris.org/os/licensing. # See the License for the specific language governing permissions # and limitations under the License. # # When distributing Covered Code, include this CDDL HEADER in each # file and include the License file at usr/src/OPENSOLARIS.LICENSE. # If applicable, add the following below this CDDL HEADER, with the # fields enclosed by brackets "[]" replaced with your own identifying # information: Portions Copyright [yyyy] [name of copyright owner] # # CDDL HEADER END # # # Copyright (c) 2011, Joyent, Inc. All rights reserved. # if [ $# != 1 ]; then echo expected one argument: '<'dtrace-path'>' exit 2 fi dtrace=$1 DIR=/var/tmp/dtest.$$ mkdir $DIR cd $DIR cat > test.c <<EOF #include <unistd.h> #include <sys/sdt.h> int main(int argc, char **argv) { DTRACE_PROBE(test_prov, probe1); } EOF cat > prov.d <<EOF provider test_prov { probe probe1(); }; EOF cc -c test.c if [ $? -ne 0 ]; then print -u2 "failed to compile test.c" exit 1 fi $dtrace -G -s prov.d test.o if [ $? -ne 0 ]; then print -u2 "failed to create DOF" exit 1 fi cc -o test test.o prov.o if [ $? -ne 0 ]; then print -u2 "failed to link final executable" exit 1 fi script() { $dtrace -Zwqs /dev/stdin <<EOF test_prov*::: { probeid = id; } tick-1sec /probeid == 0/ { printf("launching test\n"); system("./test"); } tick-1sec /probeid != 0/ { printf("attempting re-enabling\n"); system("dtrace -e -x errtags -i %d", probeid); attempts++; } tick-1sec /attempts > 10/ { exit(0); } EOF } script 2>&1 | tee test.out # # It should be true that our probe was reaped over the course of the enabling, # causing the embedded DTrace invocation to fail on an invalid probe (that is, # D_PDESC_INVAL) instead of an inability to grab the underlying process # (D_PROC_GRAB). # grep D_PDESC_INVAL test.out 2> /dev/null 1>&2 status=$? cd / rm -rf $DIR exit $status
Upload File
Create Folder