Set PADSTALE on all lexicals at the end of sub creation.
authorNicholas Clark <nick@ccl4.org>
Fri, 26 Feb 2010 09:18:44 +0000 (09:18 +0000)
committerNicholas Clark <nick@ccl4.org>
Mon, 24 May 2010 14:50:57 +0000 (15:50 +0100)
commitadf8f095c5881bcedf07b8e41072f8125e00b5a6
tree60fefd15aa87c06d10518762c8a403c21c964155
parent05d04d9c74ee968bace5e063c9ded74f94b3df24
Set PADSTALE on all lexicals at the end of sub creation.

The PADSTALEness of lexicals between the 0th and 1st call to a subroutine is now
consistent with the state between the nth and (n + 1)th call.

This permits a work around in Perl_padlist_dup() to avoid leaking active pad
data into a new thread, whilst still correctly bodging the external references
needed by the current ?{} implementation. Fix that, and this can be removed.
pad.c
t/op/threads.t