diff options
author | David Mitchell <davem@iabyn.com> | 2010-08-01 21:39:39 +0100 |
---|---|---|
committer | David Mitchell <davem@iabyn.com> | 2010-08-01 21:47:31 +0100 |
commit | 8ac9a371922798505c2c859bb0d50e557b4c085e (patch) | |
tree | 41562a46f459086954843f27a09ffe478ee240d2 /hv.c | |
parent | 254f8c6a9916f4297b168b36bc9322d6736f1722 (diff) | |
download | perl-8ac9a371922798505c2c859bb0d50e557b4c085e.tar.gz |
clarify when HV backref is in magic
Fix up the comments in and above some functions to clarify that backref
bagic for hVs may sometimes be moved back to HvAUX.
Diffstat (limited to 'hv.c')
-rw-r--r-- | hv.c | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -1678,8 +1678,10 @@ S_hfreeentries(pTHX_ HV *hv) * If, during the entry freeing, a destructor happens to add * a new weak backref, then sv_add_backref will look in both * places (magic in HvAUX) for the AV, but will create a new - * AV in HvAUX if it can't find one. So at the end of the - * iteration we have to allow for this. */ + * AV in HvAUX if it can't find one (if it finds it in magic, + * it moves it back into HvAUX. So at the end of the iteration + * we have to allow for this. */ + if (iter->xhv_backreferences) { if (SvTYPE(iter->xhv_backreferences) == SVt_PVAV) { |