245 #define PT_INIT(pt) LC_INIT((pt)->lc) 265 #define PT_THREAD(name_args) char name_args 280 #define PT_BEGIN(pt) { char PT_YIELD_FLAG = 1; if (PT_YIELD_FLAG) {;} LC_RESUME((pt)->lc) 292 #define PT_END(pt) LC_END((pt)->lc); PT_YIELD_FLAG = 0; \ 293 PT_INIT(pt); return PT_ENDED; } 313 #define PT_WAIT_UNTIL(pt, condition) \ 332 #define PT_WAIT_WHILE(pt, cond) PT_WAIT_UNTIL((pt), !(cond)) 357 #define PT_WAIT_THREAD(pt, thread) PT_WAIT_WHILE((pt), PT_SCHEDULE(thread)) 371 #define PT_SPAWN(pt, child, thread) \ 374 PT_WAIT_THREAD((pt), (thread)); \ 394 #define PT_RESTART(pt) \ 411 #define PT_EXIT(pt) \ 436 #define PT_SCHEDULE(f) ((f) < PT_EXITED) 455 #define PT_YIELD(pt) \ 459 if(PT_YIELD_FLAG == 0) { \ 475 #define PT_YIELD_UNTIL(pt, cond) \ 479 if((PT_YIELD_FLAG == 0) || !(cond)) { \
void * lc_t
The local continuation type.