xref: /illumos-gate/usr/src/cmd/dtrace/test/tst/i386/pid/tst.uregswrite.c (revision 142d813a06c6f9a6142e2c276b62129a17a31a65)
1 /*
2  * This file and its contents are supplied under the terms of the
3  * Common Development and Distribution License ("CDDL"), version 1.0.
4  * You may only use this file in accordance with the terms of version
5  * 1.0 of the CDDL.
6  *
7  * A full copy of the text of the CDDL should have accompanied this
8  * source.  A copy of the CDDL is also available via the Internet at
9  * http://www.illumos.org/license/CDDL.
10  */
11 
12 /*
13  * Copyright 2017 Joyent, Inc.
14  */
15 
16 #include <unistd.h>
17 
18 int
19 startup_wait(int *val)
20 {
21 	return (*val);
22 }
23 
24 int
25 baz(void)
26 {
27 	return (0);
28 }
29 
30 int bar_val = 0;
31 
32 int
33 bar(void)
34 {
35 	return (bar_val++);
36 }
37 
38 int
39 main(int argc, char **argv)
40 {
41 	int wait = 1;
42 
43 	while (startup_wait(&wait)) {
44 		usleep(1000);
45 	}
46 
47 	if (baz() != 1)
48 		return (1);
49 
50 	if (bar() != 0)
51 		return (1);
52 
53 	if (bar() != 2)
54 		return (1);
55 
56 	if (bar() != 2)
57 		return (1);
58 
59 	return (0);
60 }
61