Vitja Makarov, 12.12.2010 20:23:
> It seems that there is no major issues with generators, refleaks and so on.

I know what the refcounting problem is now. It's a bug that has already 
been (mostly) fixed in Haoyu's branch. So far, we didn't have "nonlocal", 
so there was no way to test how closure variables behaved on assignment. 
Since local variables in generator functions now live in the closure and 
can happily get assigned to, they suffer from the same problem that 
nonlocal has.

The place to fix this is in the assignment code in NameNode. For values in 
closures, it must generate a GOTREF() before DECREF-ing the lhs in the 
assignment and a GIVREF() after the assignment. I fixed that and also 
ripped out the "make refnanny happy" code sections.

Doing that, I also noticed a couple of other related refnanny problems for 
argument handling. I didn't care to port them back to mainline since I'd 
expect that the current 0.14 release can live with them. Let's assume from 
the current state of the generators branch that 0.15 is not too far off.

Stefan
_______________________________________________
Cython-dev mailing list
Cython-dev@codespeak.net
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to