… | |
… | |
1026 | { |
1026 | { |
1027 | PERL_CONTEXT *cx = &cxstack[cxstack_ix]; |
1027 | PERL_CONTEXT *cx = &cxstack[cxstack_ix]; |
1028 | |
1028 | |
1029 | if (CxTYPE (cx) == CXt_SUB && oldcxix < cxstack_ix) |
1029 | if (CxTYPE (cx) == CXt_SUB && oldcxix < cxstack_ix) |
1030 | { |
1030 | { |
1031 | runops_proc_t old_runops = PL_runops; |
|
|
1032 | dSP; |
1031 | dSP; |
1033 | GV *gv = CvGV (cx->blk_sub.cv); |
1032 | GV *gv = CvGV (cx->blk_sub.cv); |
1034 | SV *fullname = sv_2mortal (newSV (0)); |
1033 | SV *fullname = sv_2mortal (newSV (0)); |
1035 | |
1034 | |
1036 | if (isGV (gv)) |
1035 | if (isGV (gv)) |
… | |
… | |
1657 | else |
1656 | else |
1658 | { |
1657 | { |
1659 | next->flags &= ~CF_READY; |
1658 | next->flags &= ~CF_READY; |
1660 | --coro_nready; |
1659 | --coro_nready; |
1661 | |
1660 | |
1662 | return prepare_schedule_to (aTHX_ ta, next); |
1661 | prepare_schedule_to (aTHX_ ta, next); |
|
|
1662 | break; |
1663 | } |
1663 | } |
1664 | } |
1664 | } |
1665 | else |
1665 | else |
1666 | { |
1666 | { |
1667 | /* nothing to schedule: call the idle handler */ |
1667 | /* nothing to schedule: call the idle handler */ |
… | |
… | |
2765 | |
2765 | |
2766 | { |
2766 | { |
2767 | SV *slf = sv_2mortal (newSViv (PTR2IV (pp_slf))); |
2767 | SV *slf = sv_2mortal (newSViv (PTR2IV (pp_slf))); |
2768 | |
2768 | |
2769 | if (!PL_custom_op_names) PL_custom_op_names = newHV (); |
2769 | if (!PL_custom_op_names) PL_custom_op_names = newHV (); |
2770 | hv_store_ent (PL_custom_op_names, slf, |
2770 | hv_store_ent (PL_custom_op_names, slf, newSVpv ("coro_slf", 0), 0); |
2771 | newSVpv ("coro_slf", 0), 0); |
|
|
2772 | |
2771 | |
2773 | if (!PL_custom_op_descs) PL_custom_op_descs = newHV (); |
2772 | if (!PL_custom_op_descs) PL_custom_op_descs = newHV (); |
2774 | hv_store_ent (PL_custom_op_descs, slf, |
2773 | hv_store_ent (PL_custom_op_descs, slf, newSVpv ("coro schedule like function", 0), 0); |
2775 | newSVpv ("coro schedule like function", 0), 0); |
|
|
2776 | } |
2774 | } |
2777 | |
2775 | |
2778 | coroapi.ver = CORO_API_VERSION; |
2776 | coroapi.ver = CORO_API_VERSION; |
2779 | coroapi.rev = CORO_API_REVISION; |
2777 | coroapi.rev = CORO_API_REVISION; |
2780 | |
2778 | |