summaryrefslogtreecommitdiff
path: root/hv.c
diff options
context:
space:
mode:
authorDavid Mitchell <davem@iabyn.com>2010-08-01 21:39:39 +0100
committerDavid Mitchell <davem@iabyn.com>2010-08-01 21:47:31 +0100
commit8ac9a371922798505c2c859bb0d50e557b4c085e (patch)
tree41562a46f459086954843f27a09ffe478ee240d2 /hv.c
parent254f8c6a9916f4297b168b36bc9322d6736f1722 (diff)
downloadperl-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.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/hv.c b/hv.c
index 9b5a3ba4d7..e221499a09 100644
--- a/hv.c
+++ b/hv.c
@@ -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) {