Blame


1 110c707d 2006-04-21 devnull #include "../threadimpl.h"
2 110c707d 2006-04-21 devnull #undef exits
3 110c707d 2006-04-21 devnull
4 110c707d 2006-04-21 devnull
5 110c707d 2006-04-21 devnull ucontext_t c0, c1;
6 110c707d 2006-04-21 devnull char stack[65536];
7 110c707d 2006-04-21 devnull
8 110c707d 2006-04-21 devnull void
9 110c707d 2006-04-21 devnull go(void *v)
10 110c707d 2006-04-21 devnull {
11 110c707d 2006-04-21 devnull print("hello, world\n");
12 110c707d 2006-04-21 devnull setcontext(&c0);
13 110c707d 2006-04-21 devnull }
14 110c707d 2006-04-21 devnull
15 110c707d 2006-04-21 devnull void
16 110c707d 2006-04-21 devnull main(void)
17 110c707d 2006-04-21 devnull {
18 110c707d 2006-04-21 devnull // print("in main\n");
19 110c707d 2006-04-21 devnull getcontext(&c1);
20 110c707d 2006-04-21 devnull c1.uc_stack.ss_sp = stack;
21 110c707d 2006-04-21 devnull c1.uc_stack.ss_size = sizeof stack;
22 110c707d 2006-04-21 devnull makecontext(&c1, go, 1, 0);
23 110c707d 2006-04-21 devnull if(getcontext(&c0) == 0)
24 110c707d 2006-04-21 devnull setcontext(&c1);
25 110c707d 2006-04-21 devnull print("back in main\n");
26 110c707d 2006-04-21 devnull exits(0);
27 110c707d 2006-04-21 devnull }