diff options
author | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1997-07-17 13:35:51 +0000 |
---|---|---|
committer | Malcolm Beattie <mbeattie@sable.ox.ac.uk> | 1997-07-17 13:35:51 +0000 |
commit | 6d4ff0d2f86d3c242b3f29bee3c2734df9ab8a3a (patch) | |
tree | 214aad99b5b3c414ccc9a349a7aacbdda3b96649 /toke.c | |
parent | c03294656c9980c235cc5951a63088fd96d33704 (diff) | |
download | perl-6d4ff0d2f86d3c242b3f29bee3c2734df9ab8a3a.tar.gz |
Fix multiple problems with lexical @_.
p4raw-id: //depot/perl@39
Diffstat (limited to 'toke.c')
-rw-r--r-- | toke.c | 17 |
1 files changed, 12 insertions, 5 deletions
@@ -5225,16 +5225,23 @@ U32 flags; CvFLAGS(compcv) |= flags; comppad = newAV(); + av_push(comppad, Nullsv); + curpad = AvARRAY(comppad); comppad_name = newAV(); comppad_name_fill = 0; -#ifdef USE_THREADS - av_store(comppad_name, 0, newSVpv("@_", 2)); -#endif /* USE_THREADS */ min_intro_pending = 0; - av_push(comppad, Nullsv); - curpad = AvARRAY(comppad); padix = 0; subline = curcop->cop_line; +#ifdef USE_THREADS + av_store(comppad_name, 0, newSVpv("@_", 2)); + curpad[0] = (SV*)newAV(); + SvPADMY_on(curpad[0]); /* XXX Needed? */ + CvOWNER(compcv) = 0; + New(666, CvMUTEXP(compcv), 1, pthread_mutex_t); + MUTEX_INIT(CvMUTEXP(compcv)); + New(666, CvCONDP(compcv), 1, pthread_cond_t); + COND_INIT(CvCONDP(compcv)); +#endif /* USE_THREADS */ comppadlist = newAV(); AvREAL_off(comppadlist); |