summaryrefslogtreecommitdiff
path: root/sv.c
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2005-06-24 14:04:19 +0000
committerNicholas Clark <nick@ccl4.org>2005-06-24 14:04:19 +0000
commit41e4abd8e288135291940b1765c485a707618c20 (patch)
treeb1e95b031dfc808c4998264e298d095bc7572532 /sv.c
parentc80263a809faf4e39544f5f3f44ed7181a92391b (diff)
downloadperl-41e4abd8e288135291940b1765c485a707618c20.tar.gz
Extend DEBUG_LEAKING_SCALARS_FORK_DUMP so it can also dump scalars
which become unreferenced. This is less likely to be successful. The #define needs a better name. p4raw-id: //depot/perl@24976
Diffstat (limited to 'sv.c')
-rw-r--r--sv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sv.c b/sv.c
index 4d1bfb9392..45da2bce6b 100644
--- a/sv.c
+++ b/sv.c
@@ -5722,10 +5722,14 @@ Perl_sv_free(pTHX_ SV *sv)
SvREFCNT(sv) = (~(U32)0)/2;
return;
}
- if (ckWARN_d(WARN_INTERNAL))
+ if (ckWARN_d(WARN_INTERNAL)) {
Perl_warner(aTHX_ packWARN(WARN_INTERNAL),
"Attempt to free unreferenced scalar: SV 0x%"UVxf
pTHX__FORMAT, PTR2UV(sv) pTHX__VALUE);
+#ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
+ Perl_dump_sv_child(aTHX_ sv);
+#endif
+ }
return;
}
if (--(SvREFCNT(sv)) > 0)