summaryrefslogtreecommitdiff
path: root/scope.h
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>2000-11-25 20:52:17 +0000
committerGurusamy Sarathy <gsar@cpan.org>2000-11-25 20:52:17 +0000
commitc3564e5c35b594706ecb001261b86a47fb837059 (patch)
tree924db2bde875fbdf39afd6a16feea1b1c79b944a /scope.h
parentcf829ab07ccc67cf02ca41d6f870136b64d83833 (diff)
downloadperl-c3564e5c35b594706ecb001261b86a47fb837059.tar.gz
C<foreach my $x ...> in pseudo-fork()ed process may diddle
parent's memory; fix it by keeping track of the actual pad offset rather than a raw pointer (this change is probably also relevant to non-ithreads case to avoid fallout from reallocs of the pad array, but is currently only enabled for the ithreads case in the interests of minimal disruption to existing "well tested" code) p4raw-id: //depot/perl@7858
Diffstat (limited to 'scope.h')
-rw-r--r--scope.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/scope.h b/scope.h
index 9152b397e7..3e05962e68 100644
--- a/scope.h
+++ b/scope.h
@@ -33,6 +33,7 @@
#define SAVEt_I8 32
#define SAVEt_COMPPAD 33
#define SAVEt_GENERIC_PVREF 34
+#define SAVEt_PADSV 35
#define SSCHECK(need) if (PL_savestack_ix + need > PL_savestack_max) savestack_grow()
#define SSPUSHINT(i) (PL_savestack[PL_savestack_ix++].any_i32 = (I32)(i))
@@ -101,6 +102,7 @@ Closing bracket on a callback. See C<ENTER> and L<perlcall>.
#define SAVESPTR(s) save_sptr((SV**)&(s))
#define SAVEPPTR(s) save_pptr(SOFT_CAST(char**)&(s))
#define SAVEVPTR(s) save_vptr((void*)&(s))
+#define SAVEPADSV(s) save_padsv(s)
#define SAVEFREESV(s) save_freesv((SV*)(s))
#define SAVEFREEOP(o) save_freeop(SOFT_CAST(OP*)(o))
#define SAVEFREEPV(p) save_freepv(SOFT_CAST(char*)(p))