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