summaryrefslogtreecommitdiff
path: root/gv.c
diff options
context:
space:
mode:
authorGurusamy Sarathy <gsar@cpan.org>2000-07-11 17:36:42 +0000
committerGurusamy Sarathy <gsar@cpan.org>2000-07-11 17:36:42 +0000
commit3d35f11b2518ea9ea787f5db97c6c3e7cff04dbf (patch)
tree734aa6592529265daf086a04e80910a6ed0c7650 /gv.c
parentf3b469aff5df6578898d16737a9550f4e9b8ee54 (diff)
downloadperl-3d35f11b2518ea9ea787f5db97c6c3e7cff04dbf.tar.gz
integrate cfgperl changes#6207..6210 into mainline
p4raw-link: @6210 on //depot/cfgperl: b8b4c9f3cf6ef09c878a80ff97526a69902a44ca p4raw-link: @6207 on //depot/cfgperl: b37a7757477319a5fcdd5131db15046064f631c4 p4raw-id: //depot/perl@6345
Diffstat (limited to 'gv.c')
-rw-r--r--gv.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gv.c b/gv.c
index 1868114325..1c3a95354e 100644
--- a/gv.c
+++ b/gv.c
@@ -435,9 +435,18 @@ Perl_gv_autoload4(pTHX_ HV *stash, const char *name, STRLEN len, I32 method)
*/
varstash = GvSTASH(CvGV(cv));
vargv = *(GV**)hv_fetch(varstash, autoload, autolen, TRUE);
+ ENTER;
+
+#ifdef USE_THREADS
+ Perl_lock(aTHX_ (SV *)varstash);
+#endif
if (!isGV(vargv))
gv_init(vargv, varstash, autoload, autolen, FALSE);
+ LEAVE;
varsv = GvSV(vargv);
+#ifdef USE_THREADS
+ Perl_lock(aTHX_ varsv);
+#endif
sv_setpv(varsv, HvNAME(stash));
sv_catpvn(varsv, "::", 2);
sv_catpvn(varsv, name, len);