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