… | |
… | |
2095 | { |
2095 | { |
2096 | AV *od = coro->on_destroy; |
2096 | AV *od = coro->on_destroy; |
2097 | |
2097 | |
2098 | if (!od) |
2098 | if (!od) |
2099 | return; |
2099 | return; |
|
|
2100 | |
|
|
2101 | coro->on_destroy = 0; |
|
|
2102 | sv_2mortal ((SV *)od); |
2100 | |
2103 | |
2101 | while (AvFILLp (od) >= 0) |
2104 | while (AvFILLp (od) >= 0) |
2102 | { |
2105 | { |
2103 | SV *cb = sv_2mortal (av_pop (od)); |
2106 | SV *cb = sv_2mortal (av_pop (od)); |
2104 | |
2107 | |
… | |
… | |
3471 | transfer (...) |
3474 | transfer (...) |
3472 | PROTOTYPE: $$ |
3475 | PROTOTYPE: $$ |
3473 | CODE: |
3476 | CODE: |
3474 | CORO_EXECUTE_SLF_XS (slf_init_transfer); |
3477 | CORO_EXECUTE_SLF_XS (slf_init_transfer); |
3475 | |
3478 | |
3476 | void |
|
|
3477 | _exit (int code) |
|
|
3478 | PROTOTYPE: $ |
|
|
3479 | CODE: |
|
|
3480 | _exit (code); |
|
|
3481 | |
|
|
3482 | SV * |
3479 | SV * |
3483 | clone (Coro::State coro) |
3480 | clone (Coro::State coro) |
3484 | CODE: |
3481 | CODE: |
3485 | { |
3482 | { |
3486 | #if CORO_CLONE |
3483 | #if CORO_CLONE |
… | |
… | |
4237 | { |
4234 | { |
4238 | PL_ppaddr [OP_SSELECT] = coro_old_pp_sselect; |
4235 | PL_ppaddr [OP_SSELECT] = coro_old_pp_sselect; |
4239 | coro_old_pp_sselect = 0; |
4236 | coro_old_pp_sselect = 0; |
4240 | } |
4237 | } |
4241 | |
4238 | |
|
|
4239 | MODULE = Coro::State PACKAGE = Coro::Util |
|
|
4240 | |
|
|
4241 | void |
|
|
4242 | _exit (int code) |
|
|
4243 | CODE: |
|
|
4244 | _exit (code); |
|
|
4245 | |
|
|
4246 | NV |
|
|
4247 | time () |
|
|
4248 | CODE: |
|
|
4249 | RETVAL = nvtime (aTHX); |
|
|
4250 | OUTPUT: |
|
|
4251 | RETVAL |
|
|
4252 | |
|
|
4253 | NV |
|
|
4254 | gettimeofday () |
|
|
4255 | PPCODE: |
|
|
4256 | { |
|
|
4257 | UV tv [2]; |
|
|
4258 | u2time (aTHX_ tv); |
|
|
4259 | EXTEND (SP, 2); |
|
|
4260 | PUSHs (sv_2mortal (newSVuv (tv [0]))); |
|
|
4261 | PUSHs (sv_2mortal (newSVuv (tv [1]))); |
|
|
4262 | } |
|
|
4263 | |