summaryrefslogtreecommitdiff
path: root/sv.h
diff options
context:
space:
mode:
authorNicholas Clark <nick@ccl4.org>2010-02-24 17:15:41 +0000
committerNicholas Clark <nick@ccl4.org>2010-05-24 15:50:57 +0100
commitd08d57ef17162c52e2024a3ba6755f778acbc697 (patch)
tree0faa95f64ed1d63936c793a6a68eab0efd701c0f /sv.h
parent1db366cc74404c47243e1d86efa59c6559db818e (diff)
downloadperl-d08d57ef17162c52e2024a3ba6755f778acbc697.tar.gz
Better ithreads cloning - add all SVs with a 0 refcnt to the temps stack.
Track all SVs created by sv_dup() that have a 0 reference count. If they still have a 0 reference count at the end of cloning, assign a reference to each to the temps stack. As the temps stack is cleared at thread exit, SVs book keeping will be correct and consistent before perl_destruct() makes its check for leaked scalars. Remove special case code for checking each @_ and the parent's temp stack.
Diffstat (limited to 'sv.h')
-rw-r--r--sv.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/sv.h b/sv.h
index 744687a6a8..3f31920982 100644
--- a/sv.h
+++ b/sv.h
@@ -1940,6 +1940,7 @@ struct clone_params {
UV flags;
PerlInterpreter *proto_perl;
PerlInterpreter *new_perl;
+ AV *unreferenced;
};
/*