develooper Front page | perl.perl5.porters | Postings from November 2003

Re: 5.8.2 coredump: tied hashes implemented as XSUB methods

Thread Previous
From:
Dave Mitchell
Date:
November 14, 2003 15:43
Subject:
Re: 5.8.2 coredump: tied hashes implemented as XSUB methods
Message ID:
20031114234305.GB28854@fdgroup.com
On Fri, Nov 14, 2003 at 11:31:22PM +0000, Alan Burlison wrote:
> I have a module (Solaris::Kstat) which implements a tied hash entirely from 
> XSUB code.  This works fine in 5.6.1, but cores in 5.8.2.  I've added some 
> debug code, and whilst all the other XSUB tied hash methods are being 
> called correctly, CLEAR isn't - it looks like Perl_hv_clear() is being 
> called rather than the tied CLEAR method.  The stack trace looks like this:
> 
> Perl_hv_clear
> Perl_pp_aassign
> Perl_runops_standard
> S_run_body
> perl_run
> main
> 
> i.e. no sign of the XSUB CLEAR method.  I haven't had time to nail this 
> down yet, but being lazy I wondered if anyone else had seem the same 
> problem?


Perl_hv_clear() has the following bit in it:

    if (SvRMAGICAL(hv))
    	mg_clear((SV*)hv);

So assuming that it has the right magical flags set and the right magic
attached, it should just work. How is the tie created?

-- 
In my day, we used to edit the inodes by hand.  With magnets.

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About