… | |
… | |
1135 | |
1135 | |
1136 | SvREFCNT_dec (coro->saved_deffh); |
1136 | SvREFCNT_dec (coro->saved_deffh); |
1137 | SvREFCNT_dec (coro->rouse_cb); |
1137 | SvREFCNT_dec (coro->rouse_cb); |
1138 | SvREFCNT_dec (coro->invoke_cb); |
1138 | SvREFCNT_dec (coro->invoke_cb); |
1139 | SvREFCNT_dec (coro->invoke_av); |
1139 | SvREFCNT_dec (coro->invoke_av); |
1140 | SvREFCNT_dec (coro->swap_sv); |
|
|
1141 | } |
1140 | } |
1142 | } |
1141 | } |
1143 | |
1142 | |
1144 | INLINE void |
1143 | INLINE void |
1145 | free_coro_mortal (pTHX) |
1144 | free_coro_mortal (pTHX) |
… | |
… | |
1636 | && coro->mainstack != main_mainstack |
1635 | && coro->mainstack != main_mainstack |
1637 | && coro->slot |
1636 | && coro->slot |
1638 | && !PL_dirty) |
1637 | && !PL_dirty) |
1639 | destroy_perl (aTHX_ coro); |
1638 | destroy_perl (aTHX_ coro); |
1640 | |
1639 | |
|
|
1640 | if (coro->next) coro->next->prev = coro->prev; |
|
|
1641 | if (coro->prev) coro->prev->next = coro->next; |
|
|
1642 | if (coro == coro_first) coro_first = coro->next; |
|
|
1643 | |
1641 | cctx_destroy (coro->cctx); |
1644 | cctx_destroy (coro->cctx); |
1642 | SvREFCNT_dec (coro->startcv); |
1645 | SvREFCNT_dec (coro->startcv); |
1643 | SvREFCNT_dec (coro->args); |
1646 | SvREFCNT_dec (coro->args); |
|
|
1647 | SvREFCNT_dec (coro->swap_sv); |
1644 | SvREFCNT_dec (CORO_THROW); |
1648 | SvREFCNT_dec (CORO_THROW); |
1645 | |
|
|
1646 | if (coro->next) coro->next->prev = coro->prev; |
|
|
1647 | if (coro->prev) coro->prev->next = coro->next; |
|
|
1648 | if (coro == coro_first) coro_first = coro->next; |
|
|
1649 | |
1649 | |
1650 | return 1; |
1650 | return 1; |
1651 | } |
1651 | } |
1652 | |
1652 | |
1653 | static int |
1653 | static int |