plan9port

fork of plan9port with libvec, libstr and libsdb
Log | Files | Refs | README | LICENSE

tcontext.c (384B)


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