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.243 by root, Sat Aug 30 03:07:46 2008 UTC vs.
Revision 1.244 by root, Sun Sep 21 18:29:39 2008 UTC

361 361
362 /* casting is fun. */ 362 /* casting is fun. */
363 while (&PL_sv_undef != (SV *)(padlist = (AV *)av_pop (av))) 363 while (&PL_sv_undef != (SV *)(padlist = (AV *)av_pop (av)))
364 free_padlist (aTHX_ padlist); 364 free_padlist (aTHX_ padlist);
365 365
366 SvREFCNT_dec (av);
367
366 return 0; 368 return 0;
367} 369}
368 370
369#define CORO_MAGIC_type_cv PERL_MAGIC_ext 371#define CORO_MAGIC_type_cv PERL_MAGIC_ext
370#define CORO_MAGIC_type_state PERL_MAGIC_ext 372#define CORO_MAGIC_type_state PERL_MAGIC_ext
420 if (expect_true (mg && AvFILLp ((av = (AV *)mg->mg_obj)) >= 0)) 422 if (expect_true (mg && AvFILLp ((av = (AV *)mg->mg_obj)) >= 0))
421 CvPADLIST (cv) = (AV *)AvARRAY (av)[AvFILLp (av)--]; 423 CvPADLIST (cv) = (AV *)AvARRAY (av)[AvFILLp (av)--];
422 else 424 else
423 { 425 {
424#if CORO_PREFER_PERL_FUNCTIONS 426#if CORO_PREFER_PERL_FUNCTIONS
425 /* this is probably cleaner, but also slower? */ 427 /* this is probably cleaner? but also slower! */
428 /* in practise, it seems to be less stable */
426 CV *cp = Perl_cv_clone (cv); 429 CV *cp = Perl_cv_clone (cv);
427 CvPADLIST (cv) = CvPADLIST (cp); 430 CvPADLIST (cv) = CvPADLIST (cp);
428 CvPADLIST (cp) = 0; 431 CvPADLIST (cp) = 0;
429 SvREFCNT_dec (cp); 432 SvREFCNT_dec (cp);
430#else 433#else

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines