segv in pad.c with threads (was: DBD::Oracle and Perl 5.8.2 threads)
authorDave Mitchell <davem@fdisolutions.com>
Thu, 8 Jan 2004 22:32:28 +0000 (22:32 +0000)
committerDave Mitchell <davem@fdisolutions.com>
Thu, 8 Jan 2004 22:32:28 +0000 (22:32 +0000)
commitb23f1a86dd8a81ae1056d802240e99273db9cd3a
tree27ba4e3e880421d36c75d1d83f13be0340261541
parent95143fff86b7efc2ca19a65dbad4c11842f65021
segv in pad.c with threads (was: DBD::Oracle and Perl 5.8.2 threads)
Message-ID: <20040107121357.GD82921@dansat.data-plan.com>

Returning a closure from a thread (via join) could mess up because
pointers to PL_sv_undef weren't rejigged to point at the joiner's
version of PL_sv_undef. Also, the closure's CvGV got cloned too
but never freed, since CvGV isn't refcounted.

p4raw-id: //depot/perl@22102
ext/threads/t/problems.t
ext/threads/threads.xs
sv.c