Mercurial > illumos > onarm
comparison usr/src/cmd/dtrace/test/tst/common/pid/tst.vfork.c @ 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 | |
27 #pragma ident "@(#)tst.vfork.c 1.1 06/08/28 SMI" | |
28 | |
29 #include <unistd.h> | |
30 | |
31 int | |
32 waiting(volatile int *a) | |
33 { | |
34 return (*a); | |
35 } | |
36 | |
37 int | |
38 go(void) | |
39 { | |
40 int i, j, total = 0; | |
41 | |
42 for (i = 0; i < 10; i++) { | |
43 for (j = 0; j < 10; j++) { | |
44 total += i * j; | |
45 } | |
46 } | |
47 | |
48 return (total); | |
49 } | |
50 | |
51 int | |
52 main(int argc, char **argv) | |
53 { | |
54 volatile int a = 0; | |
55 | |
56 while (waiting(&a) == 0) | |
57 continue; | |
58 | |
59 if (vfork() == 0) { | |
60 int ret = go(); | |
61 (void) _exit(ret); | |
62 } | |
63 | |
64 return (0); | |
65 } |