in reply to Re^3: PerlXS typemap and reference counting
in thread PerlXS typemap and reference counting

Sharing the code in here is a bit hard (hence the github link in the first post, which points to the whole project). Without the gRPC library installed and without the complete project, you can't run it.

Anyhow, you guessed right :-) Many thanks for that! I think the T_OPAQUE is exactly what I need. I can port to perl as well, but I think this has less impact and is fine as well.
  • Comment on Re^4: PerlXS typemap and reference counting

Replies are listed 'Best First'.
Re^5: PerlXS typemap and reference counting
by BrowserUk (Patriarch) on Apr 24, 2016 at 16:26 UTC
    Sharing the code in here is a bit hard (hence the github link in the first post, which points to the whole project). Without the gRPC library installed and without the complete project, you can't run it.

    In general, I find it quicker to solve these types of problems in a small (tiny; just enough) standalone piece of test code. (Which Inline::C is perfect for.)

    Anyhow, you guessed right :-) Many thanks for that! I think the T_OPAQUE is exactly what I need.

    Cool. Down to vague memories of a similar problem a few tears ([sic] though on second thoughts, the typo wasn't so far wrong :) years ago.

    One other memory -- that is even vaguer and thus may have holes. You can get away with only using T_OPAQUE for those function args, like your Code constructor, where you are receiving foreign objects as parameters and need access to the sv_ref; and T_PTROBJ (and so benefit from the auto-deboxing), for object handles that are native (eg, the equivalent of self in object method and similar).

    I seem to remember it took a bit of experiment get the typedefs right to avoid warnings in the XS code; but don't remember the details.


    With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    "Science is about questioning the status quo. Questioning authority". I knew I was on the right track :)
    In the absence of evidence, opinion is indistinguishable from prejudice.