… | |
… | |
576 | Safefree (PL_retstack); |
576 | Safefree (PL_retstack); |
577 | #endif |
577 | #endif |
578 | } |
578 | } |
579 | |
579 | |
580 | static size_t |
580 | static size_t |
581 | coro_rss (struct coro *coro) |
581 | coro_rss (pTHX_ struct coro *coro) |
582 | { |
582 | { |
583 | size_t rss = sizeof (coro); |
583 | size_t rss = sizeof (coro); |
584 | |
584 | |
585 | if (coro->mainstack) |
585 | if (coro->mainstack) |
586 | { |
586 | { |
… | |
… | |
1611 | |
1611 | |
1612 | IV |
1612 | IV |
1613 | rss (Coro::State coro) |
1613 | rss (Coro::State coro) |
1614 | PROTOTYPE: $ |
1614 | PROTOTYPE: $ |
1615 | CODE: |
1615 | CODE: |
1616 | RETVAL = coro_rss (coro); |
1616 | RETVAL = coro_rss (aTHX_ coro); |
1617 | OUTPUT: |
1617 | OUTPUT: |
1618 | RETVAL |
1618 | RETVAL |
1619 | |
1619 | |
1620 | |
1620 | |
1621 | MODULE = Coro::State PACKAGE = Coro |
1621 | MODULE = Coro::State PACKAGE = Coro |
… | |
… | |
1744 | { |
1744 | { |
1745 | struct coro *coro = SvSTATE (coro_current); |
1745 | struct coro *coro = SvSTATE (coro_current); |
1746 | |
1746 | |
1747 | sv_setsv (cb, &PL_sv_undef); |
1747 | sv_setsv (cb, &PL_sv_undef); |
1748 | |
1748 | |
1749 | if (coro_rss (coro) > SvIV (sv_pool_rss) |
1749 | if (coro_rss (aTHX_ coro) > SvIV (sv_pool_rss) |
1750 | || av_len (av_async_pool) + 1 >= SvIV (sv_pool_size)) |
1750 | || av_len (av_async_pool) + 1 >= SvIV (sv_pool_size)) |
1751 | croak ("\3terminate\2\n"); |
1751 | croak ("\3terminate\2\n"); |
1752 | |
1752 | |
1753 | av_clear (GvAV (PL_defgv)); |
1753 | av_clear (GvAV (PL_defgv)); |
1754 | hv_store ((HV *)SvRV (coro_current), "desc", sizeof ("desc") - 1, |
1754 | hv_store ((HV *)SvRV (coro_current), "desc", sizeof ("desc") - 1, |