… | |
… | |
1463 | coro->save |= save_also; |
1463 | coro->save |= save_also; |
1464 | } |
1464 | } |
1465 | OUTPUT: |
1465 | OUTPUT: |
1466 | RETVAL |
1466 | RETVAL |
1467 | |
1467 | |
|
|
1468 | # these not obviously related functions are all rolled into the same xs |
|
|
1469 | # function to increase chances that they all will call transfer with the same |
|
|
1470 | # stack offset |
1468 | void |
1471 | void |
1469 | _set_stacklevel (...) |
1472 | _set_stacklevel (...) |
1470 | ALIAS: |
1473 | ALIAS: |
1471 | Coro::State::transfer = 1 |
1474 | Coro::State::transfer = 1 |
1472 | Coro::schedule = 2 |
1475 | Coro::schedule = 2 |
… | |
… | |
1781 | croak ("\3terminate\2\n"); |
1784 | croak ("\3terminate\2\n"); |
1782 | |
1785 | |
1783 | av_clear (GvAV (PL_defgv)); |
1786 | av_clear (GvAV (PL_defgv)); |
1784 | hv_store ((HV *)SvRV (coro_current), "desc", sizeof ("desc") - 1, |
1787 | hv_store ((HV *)SvRV (coro_current), "desc", sizeof ("desc") - 1, |
1785 | newSVpvn ("[async_pool idle]", sizeof ("[async_pool idle]") - 1), 0); |
1788 | newSVpvn ("[async_pool idle]", sizeof ("[async_pool idle]") - 1), 0); |
|
|
1789 | |
1786 | coro->save = CORO_SAVE_DEF; |
1790 | coro->save = CORO_SAVE_DEF; |
1787 | coro->prio = 0; |
1791 | coro->prio = 0; |
1788 | |
1792 | |
1789 | if (coro->cctx && (coro->cctx->flags & CC_TRACE)) |
1793 | if (coro->cctx && (coro->cctx->flags & CC_TRACE)) |
1790 | api_trace (coro_current, 0); |
1794 | api_trace (coro_current, 0); |