19512fe85Sahl#
29512fe85Sahl# CDDL HEADER START
39512fe85Sahl#
49512fe85Sahl# The contents of this file are subject to the terms of the
59512fe85Sahl# Common Development and Distribution License (the "License").
69512fe85Sahl# You may not use this file except in compliance with the License.
79512fe85Sahl#
89512fe85Sahl# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
99512fe85Sahl# or http://www.opensolaris.org/os/licensing.
109512fe85Sahl# See the License for the specific language governing permissions
119512fe85Sahl# and limitations under the License.
129512fe85Sahl#
139512fe85Sahl# When distributing Covered Code, include this CDDL HEADER in each
149512fe85Sahl# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
159512fe85Sahl# If applicable, add the following below this CDDL HEADER, with the
169512fe85Sahl# fields enclosed by brackets "[]" replaced with your own identifying
179512fe85Sahl# information: Portions Copyright [yyyy] [name of copyright owner]
189512fe85Sahl#
199512fe85Sahl# CDDL HEADER END
209512fe85Sahl#
219512fe85Sahl
229512fe85Sahl#
23*bd0f52d7Sjhaslam# Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
249512fe85Sahl# Use is subject to license terms.
259512fe85Sahl#
26*bd0f52d7Sjhaslam# ident	"%Z%%M%	%I%	%E% SMI"
279512fe85Sahl
2823b5c241Stomeeif [ $# != 1 ]; then
2923b5c241Stomee	echo expected one argument: '<'dtrace-path'>'
3023b5c241Stomee	exit 2
3123b5c241Stomeefi
3223b5c241Stomee
3323b5c241Stomeedtrace=$1
349512fe85Sahl
359512fe85Sahlset -A pids
369512fe85Sahl
379512fe85Sahlfor lib in `ls -1 /lib/lib*.so.1 | grep -v ld.so.1`; do
389512fe85Sahl	preload=$lib:${preload}
399512fe85Sahldone
409512fe85Sahl
419512fe85Sahlexport LD_PRELOAD=$preload
429512fe85Sahl
439512fe85Sahllet numkids=100
449512fe85Sahllet i=0
459512fe85Sahl
469512fe85Sahltmpfile=/tmp/dtest.$$
479512fe85Sahl
489512fe85Sahlwhile [ "$i" -lt "$numkids" ]; do
499512fe85Sahl	sleep 500 &
509512fe85Sahl	pids[$i]=$!
519512fe85Sahl	let i=i+1
529512fe85Sahldone
539512fe85Sahl
549512fe85Sahlexport LD_PRELOAD=
559512fe85Sahl
569512fe85Sahllet i=0
579512fe85Sahl
589512fe85Sahlecho "tick-1sec\n{\n\texit(0);\n}\n" > $tmpfile
599512fe85Sahl
609512fe85Sahlwhile [ "$i" -lt "$numkids" ]; do
619512fe85Sahl	echo "pid${pids[$i]}::malloc:entry\n{}\n" >> $tmpfile
629512fe85Sahl	let i=i+1
639512fe85Sahldone
649512fe85Sahl
659512fe85Sahl$dtrace -s $tmpfile
669512fe85Sahlstatus=$?
679512fe85Sahl
689512fe85Sahlrm $tmpfile
699512fe85Sahlpkill sleep
709512fe85Sahlexit $status
71