Better ithreads cloning - add all SVs with a 0 refcnt to the temps stack.
authorNicholas Clark <nick@ccl4.org>
Wed, 24 Feb 2010 17:15:41 +0000 (17:15 +0000)
committerNicholas Clark <nick@ccl4.org>
Mon, 24 May 2010 14:50:57 +0000 (15:50 +0100)
commitd08d57ef17162c52e2024a3ba6755f778acbc697
tree0faa95f64ed1d63936c793a6a68eab0efd701c0f
parent1db366cc74404c47243e1d86efa59c6559db818e
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.
embed.fnc
embed.h
proto.h
sv.c
sv.h
t/op/threads.t