in reply to Re: threads, refcounting, XS, DESTROY
in thread threads, refcounting, XS, DESTROY

That may be uglier but it sounds like it would work a whole lot more robustly.

Ps: is threads::shared::_refcnt() documented anywhere?

update: I haven't found any documentation for this function, but a quick skimming of the source and tests for threads::shared indicates that threads::shared::_refcnt() returns the sum of the refcounts over all threads. very useful indeed. I'm going to experiment with this.

Replies are listed 'Best First'.
Re^3: threads, refcounting, XS, DESTROY
by Anonymous Monk on Aug 28, 2007 at 15:00 UTC

    Unfortunately, it appears that _refcnt() does not always report the expected value during DESTROYction, meaning, IIUC, that final cleanup might be missed using this technique:

    http://www.nntp.perl.org/group/perl.ithreads/2007/08/msg1199.html

    Looks like it's back to user-defined bookkeeping...