… | |
… | |
47 | GV *current; |
47 | GV *current; |
48 | }; |
48 | }; |
49 | |
49 | |
50 | static struct CoroAPI *GCoroAPI; |
50 | static struct CoroAPI *GCoroAPI; |
51 | |
51 | |
52 | #define CORO_TRANSFER(prev,next) GCoroAPI->transfer(aTHX_ (prev),(next)) |
52 | #define CORO_TRANSFER(prev,next,flags) GCoroAPI->transfer(aTHX_ (prev), (next), (flags)) |
53 | #define CORO_SCHEDULE GCoroAPI->schedule() |
53 | #define CORO_SCHEDULE GCoroAPI->schedule () |
54 | #define CORO_CEDE GCoroAPI->cede() |
54 | #define CORO_CEDE GCoroAPI->cede () |
55 | #define CORO_READY(coro) GCoroAPI->ready(coro) |
55 | #define CORO_READY(coro) GCoroAPI->ready (coro) |
56 | #define CORO_NREADY (*GCoroAPI->nready) |
56 | #define CORO_NREADY (*GCoroAPI->nready) |
57 | #define CORO_CURRENT SvRV(GvSV(GCoroAPI->current)) |
57 | #define CORO_CURRENT SvRV(GvSV(GCoroAPI->current)) |
58 | |
58 | |
59 | #define I_CORO_API(YourName) \ |
59 | #define I_CORO_API(YourName) \ |
60 | STMT_START { \ |
60 | STMT_START { \ |