in reply to Re: Massive memory leak (AS 810)
in thread Massive memory leak (AS 810)

If you take a look at the XS code referred to in that thread via the link that Corion posted in Re: Uncollected Garbage ..., you'll see that the version was 1.13, and included the following snippet that he identified as the possible cause:

if (!CvDEPTH(cv)) (void)SvREFCNT_inc(cv);

If you then take a look at the latest version, you'll see that snippet is no longer present.

If you then look at the p5p list, you'll see that dave_the_m identified a new and different problem which also affected first(), and offered a patch to fix both.

My interpretation, having recently attempted to use the reduce() XS code as a template for optimal callback performance from Inline::C, is that trying to bypass work out what the various macros do--and why--is very, very hard.


Examine what is said, not who speaks.
Silence betokens consent.
Love the truth but pardon error.