… | |
… | |
2 | #define USE_NO_MINGW_SETJMP_TWO_ARGS |
2 | #define USE_NO_MINGW_SETJMP_TWO_ARGS |
3 | |
3 | |
4 | #define NDEBUG 1 /* perl usually disables NDEBUG later */ |
4 | #define NDEBUG 1 /* perl usually disables NDEBUG later */ |
5 | |
5 | |
6 | #include "libcoro/coro.c" |
6 | #include "libcoro/coro.c" |
|
|
7 | |
|
|
8 | #if CORO_UCONTEXT |
|
|
9 | #define CORO_BACKEND "ucontext" |
|
|
10 | #elif CORO_SJLJ |
|
|
11 | #define CORO_BACKEND "sjlj" |
|
|
12 | #elif CORO_LINUX |
|
|
13 | #define CORO_BACKEND "linux" |
|
|
14 | #elif CORO_LOSER |
|
|
15 | #define CORO_BACKEND "loser" |
|
|
16 | #elif CORO_FIBER |
|
|
17 | #define CORO_BACKEND "fiber" |
|
|
18 | #elif CORO_IRIX |
|
|
19 | #define CORO_BACKEND "irix" |
|
|
20 | #elif CORO_ASM |
|
|
21 | #define CORO_BACKEND "asm" |
|
|
22 | #elif CORO_PTHREAD |
|
|
23 | #define CORO_BACKEND "pthread" |
|
|
24 | #else |
|
|
25 | #define CORO_BACKEND "unknown" |
|
|
26 | #endif |
7 | |
27 | |
8 | #define PERL_NO_GET_CONTEXT |
28 | #define PERL_NO_GET_CONTEXT |
9 | #define PERL_EXT |
29 | #define PERL_EXT |
10 | |
30 | |
11 | #include "EXTERN.h" |
31 | #include "EXTERN.h" |
… | |
… | |
3674 | rv_diehook = newRV_inc ((SV *)gv_fetchpv ("Coro::State::diehook" , 0, SVt_PVCV)); |
3694 | rv_diehook = newRV_inc ((SV *)gv_fetchpv ("Coro::State::diehook" , 0, SVt_PVCV)); |
3675 | rv_warnhook = newRV_inc ((SV *)gv_fetchpv ("Coro::State::warnhook", 0, SVt_PVCV)); |
3695 | rv_warnhook = newRV_inc ((SV *)gv_fetchpv ("Coro::State::warnhook", 0, SVt_PVCV)); |
3676 | |
3696 | |
3677 | coro_state_stash = gv_stashpv ("Coro::State", TRUE); |
3697 | coro_state_stash = gv_stashpv ("Coro::State", TRUE); |
3678 | |
3698 | |
|
|
3699 | newCONSTSUB (coro_state_stash, "BACKEND", newSVpv (CORO_BACKEND, 0)); /* undocumented */ |
|
|
3700 | |
3679 | newCONSTSUB (coro_state_stash, "CC_TRACE" , newSViv (CC_TRACE)); |
3701 | newCONSTSUB (coro_state_stash, "CC_TRACE" , newSViv (CC_TRACE)); |
3680 | newCONSTSUB (coro_state_stash, "CC_TRACE_SUB" , newSViv (CC_TRACE_SUB)); |
3702 | newCONSTSUB (coro_state_stash, "CC_TRACE_SUB" , newSViv (CC_TRACE_SUB)); |
3681 | newCONSTSUB (coro_state_stash, "CC_TRACE_LINE", newSViv (CC_TRACE_LINE)); |
3703 | newCONSTSUB (coro_state_stash, "CC_TRACE_LINE", newSViv (CC_TRACE_LINE)); |
3682 | newCONSTSUB (coro_state_stash, "CC_TRACE_ALL" , newSViv (CC_TRACE_ALL)); |
3704 | newCONSTSUB (coro_state_stash, "CC_TRACE_ALL" , newSViv (CC_TRACE_ALL)); |
3683 | |
3705 | |