Mercurial > illumos > onarm
comparison usr/src/cmd/dtrace/test/tst/common/java_api/src/TestStopLock.java @ 0:c9caec207d52 b86
Initial porting based on b86
author | Koji Uno <koji.uno@sun.com> |
---|---|
date | Tue, 02 Jun 2009 18:56:50 +0900 |
parents | |
children | 1a15d5aaf794 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:c9caec207d52 |
---|---|
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 | |
9 * or http://www.opensolaris.org/os/licensing. | |
10 * See the License for the specific language governing permissions | |
11 * and limitations under the License. | |
12 * | |
13 * When distributing Covered Code, include this CDDL HEADER in each | |
14 * file and include the License file at usr/src/OPENSOLARIS.LICENSE. | |
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 | |
22 /* | |
23 * Copyright 2006 Sun Microsystems, Inc. All rights reserved. | |
24 * Use is subject to license terms. | |
25 * | |
26 * ident "@(#)TestStopLock.java 1.1 06/09/26 SMI" | |
27 */ | |
28 | |
29 import org.opensolaris.os.dtrace.*; | |
30 | |
31 /** | |
32 * Test for bug 6399888 stop() hangs if ConsumerListener calls | |
33 * synchronized Consumer method | |
34 */ | |
35 public class TestStopLock { | |
36 public static void | |
37 main(String[] args) | |
38 { | |
39 final Consumer consumer = new LocalConsumer(); | |
40 consumer.addConsumerListener(new ConsumerAdapter() { | |
41 @Override | |
42 public void intervalBegan(ConsumerEvent e) { | |
43 consumer.isRunning(); | |
44 } | |
45 }); | |
46 | |
47 try { | |
48 consumer.open(); | |
49 consumer.compile("syscall:::entry { @[execname] = count(); } " + | |
50 "tick-101ms { printa(@); }"); | |
51 consumer.enable(); | |
52 consumer.go(); | |
53 try { | |
54 Thread.currentThread().sleep(500); | |
55 } catch (InterruptedException e) { | |
56 e.printStackTrace(); | |
57 System.exit(1); | |
58 } | |
59 consumer.stop(); | |
60 consumer.close(); | |
61 } catch (DTraceException e) { | |
62 e.printStackTrace(); | |
63 System.exit(1); | |
64 } | |
65 System.out.println("Successful"); | |
66 } | |
67 } |