diff options
author | Dave Mitchell <davem@fdisolutions.com> | 2003-07-03 02:32:11 +0100 |
---|---|---|
committer | Jarkko Hietaniemi <jhi@iki.fi> | 2003-07-03 06:27:18 +0000 |
commit | d99b02a1a9949639f16470065ea5568cd92f788d (patch) | |
tree | e36e1fadc2179e5b5bdfe14ee48c12ac2c0609f1 /sv.c | |
parent | 94467548464439e4d684189080f297305d981e5c (diff) | |
download | perl-d99b02a1a9949639f16470065ea5568cd92f788d.tar.gz |
Re: ext/List/Util/t/weak.t panic
Message-ID: <20030703003211.GB3747@fdgroup.com>
p4raw-id: //depot/perl@19943
Diffstat (limited to 'sv.c')
-rw-r--r-- | sv.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -5091,7 +5091,9 @@ S_sv_add_backref(pTHX_ SV *tsv, SV *sv) else { av = newAV(); sv_magic(tsv, (SV*)av, PERL_MAGIC_backref, NULL, 0); - SvREFCNT_dec(av); /* for sv_magic */ + /* av now has a refcnt of 2, which avoids it getting freed + * before us during global cleanup. The extra ref is removed + * by magic_killbackrefs() when tsv is being freed */ } if (AvFILLp(av) >= AvMAX(av)) { SV **svp = AvARRAY(av); |