I think you leaked ST(0). It comes from Adder already mortaled. You increased the refcount, but didn't remortal it (unless the mortal is in the C version after XSPP does its job). As I understand each sv_2mortal will put the SV once on mortal stack. Each mortal must own one notch on the refcount and it all is supposed to balance out in the end. Perl interp fatally errors if it double frees a SV. I often omit SAVE/FREETMPS, I dont omit the ENTER/LEAVE since I don't have a good understanding when its safe to omit ENTER/LEAVE. I would use a POPs rather than fix up ax and get ST() working again, smaller machine code then. I'm not sure if the count check makes sense, I think G_SCALAR will FORCE the count to be 1 or 0 (or is that 1, a immortal undef is always placed if the callee return a 0 length list?), and it will mortal and delete the excess SVs off the perl stack before giving it to you.

In reply to Re: [XS] Callbacks to perl by bulk88
in thread [XS] Callbacks to perl by syphilis

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.