ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/Coro/Coro/State.xs
(Generate patch)

Comparing Coro/Coro/State.xs (file contents):
Revision 1.239 by root, Sat Jun 28 23:14:19 2008 UTC vs.
Revision 1.240 by root, Sun Jun 29 00:28:17 2008 UTC

2025 AV *invoke_av; 2025 AV *invoke_av;
2026 int i, len; 2026 int i, len;
2027 2027
2028 if (!invoke) 2028 if (!invoke)
2029 { 2029 {
2030 SvREFCNT_dec (PL_diehook); PL_diehook = 0; 2030 SV *old = PL_diehook;
2031 PL_diehook = 0;
2032 SvREFCNT_dec (old);
2031 croak ("\3async_pool terminate\2\n"); 2033 croak ("\3async_pool terminate\2\n");
2032 } 2034 }
2033 2035
2034 SvREFCNT_dec (coro->saved_deffh); 2036 SvREFCNT_dec (coro->saved_deffh);
2035 coro->saved_deffh = SvREFCNT_inc ((SV *)PL_defoutgv); 2037 coro->saved_deffh = SvREFCNT_inc ((SV *)PL_defoutgv);
2064 coro->saved_deffh = 0; 2066 coro->saved_deffh = 0;
2065 2067
2066 if (coro_rss (aTHX_ coro) > SvIV (sv_pool_rss) 2068 if (coro_rss (aTHX_ coro) > SvIV (sv_pool_rss)
2067 || av_len (av_async_pool) + 1 >= SvIV (sv_pool_size)) 2069 || av_len (av_async_pool) + 1 >= SvIV (sv_pool_size))
2068 { 2070 {
2069 SvREFCNT_dec (PL_diehook); PL_diehook = 0; 2071 SV *old = PL_diehook;
2072 PL_diehook = 0;
2073 SvREFCNT_dec (old);
2070 croak ("\3async_pool terminate\2\n"); 2074 croak ("\3async_pool terminate\2\n");
2071 } 2075 }
2072 2076
2073 av_clear (GvAV (PL_defgv)); 2077 av_clear (GvAV (PL_defgv));
2074 hv_store ((HV *)SvRV (coro_current), "desc", sizeof ("desc") - 1, 2078 hv_store ((HV *)SvRV (coro_current), "desc", sizeof ("desc") - 1,

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines