diff options
Diffstat (limited to 'src/libthread/test/tcontext.c')
| -rw-r--r-- | src/libthread/test/tcontext.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/libthread/test/tcontext.c b/src/libthread/test/tcontext.c new file mode 100644 index 00000000..fa58e063 --- /dev/null +++ b/src/libthread/test/tcontext.c @@ -0,0 +1,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); +} |
