Change 18241 by jhi@kosh on 2002/12/03 14:02:58
Integrate
[ 18239]
Fix up #18229.
Affected files ...
.... //depot/maint-5.8/perl/embedvar.h#6 integrate
.... //depot/maint-5.8/perl/ext/threads/t/join.t#5 integrate
.... //depot/maint-5.8/perl/perl.c#9 integrate
.... //depot/maint-5.8/perl/perlapi.h#6 integrate
.... //depot/maint-5.8/perl/perlvars.h#3 integrate
.... //depot/maint-5.8/perl/pod/perlintern.pod#2 integrate
Differences ...
==== //depot/maint-5.8/perl/embedvar.h#6 (text+w) ====
Index: perl/embedvar.h
--- perl/embedvar.h#5~18197~ Wed Nov 27 20:14:27 2002
+++ perl/embedvar.h Tue Dec 3 06:02:58 2002
@@ -1381,6 +1381,7 @@
#define PL_Yes (PL_Vars.GYes)
#define PL_curinterp (PL_Vars.Gcurinterp)
#define PL_do_undump (PL_Vars.Gdo_undump)
+#define PL_dollarzero_mutex (PL_Vars.Gdollarzero_mutex)
#define PL_hexdigit (PL_Vars.Ghexdigit)
#define PL_lockhook (PL_Vars.Glockhook)
#define PL_malloc_mutex (PL_Vars.Gmalloc_mutex)
@@ -1400,6 +1401,7 @@
#define PL_GYes PL_Yes
#define PL_Gcurinterp PL_curinterp
#define PL_Gdo_undump PL_do_undump
+#define PL_Gdollarzero_mutex PL_dollarzero_mutex
#define PL_Ghexdigit PL_hexdigit
#define PL_Glockhook PL_lockhook
#define PL_Gmalloc_mutex PL_malloc_mutex
==== //depot/maint-5.8/perl/ext/threads/t/join.t#5 (text) ====
Index: perl/ext/threads/t/join.t
--- perl/ext/threads/t/join.t#4~18234~ Mon Dec 2 14:30:41 2002
+++ perl/ext/threads/t/join.t Tue Dec 3 06:02:58 2002
@@ -1,4 +1,3 @@
-
BEGIN {
chdir 't' if -d 't';
@INC = '../lib';
@@ -30,6 +29,10 @@
return $ok;
}
+sub skip {
+ ok(1, "# Skipped: @_");
+}
+
ok(1,"");
@@ -89,7 +92,6 @@
}
if ($^O eq 'linux') { # We parse ps output so this is OS-dependent.
-
# First modify $0 in a subthread.
print "# 1a: \$0 = $0\n";
join( threads->new( sub {
==== //depot/maint-5.8/perl/perl.c#9 (text) ====
Index: perl/perl.c
--- perl/perl.c#8~18234~ Mon Dec 2 14:30:41 2002
+++ perl/perl.c Tue Dec 3 06:02:58 2002
@@ -193,6 +193,10 @@
thr = init_main_thread();
#endif /* USE_5005THREADS */
+#if defined(USE_5005THREADS) || defined(USE_ITHREADS)
+ MUTEX_INIT(&PL_dollarzero_mutex); /* for $0 modifying */
+#endif
+
#ifdef PERL_FLEXIBLE_EXCEPTIONS
PL_protect = MEMBER_TO_FPTR(Perl_default_protect); /* for exceptions */
#endif
@@ -1050,10 +1054,6 @@
time(&PL_basetime);
oldscope = PL_scopestack_ix;
PL_dowarn = G_WARN_OFF;
-
-#ifdef USE_ITHREADS
- MUTEX_INIT(&PL_dollarzero_mutex);
-#endif
#ifdef PERL_FLEXIBLE_EXCEPTIONS
CALLPROTECT(aTHX_ pcur_env, &ret, MEMBER_TO_FPTR(S_vparse_body), env, xsinit);
==== //depot/maint-5.8/perl/perlapi.h#6 (text+w) ====
Index: perl/perlapi.h
--- perl/perlapi.h#5~18197~ Wed Nov 27 20:14:27 2002
+++ perl/perlapi.h Tue Dec 3 06:02:58 2002
@@ -964,6 +964,8 @@
#define PL_curinterp (*Perl_Gcurinterp_ptr(NULL))
#undef PL_do_undump
#define PL_do_undump (*Perl_Gdo_undump_ptr(NULL))
+#undef PL_dollarzero_mutex
+#define PL_dollarzero_mutex (*Perl_Gdollarzero_mutex_ptr(NULL))
#undef PL_hexdigit
#define PL_hexdigit (*Perl_Ghexdigit_ptr(NULL))
#undef PL_lockhook
==== //depot/maint-5.8/perl/perlvars.h#3 (text) ====
Index: perl/perlvars.h
--- perl/perlvars.h#2~18080~ Sun Nov 3 21:23:04 2002
+++ perl/perlvars.h Tue Dec 3 06:02:58 2002
@@ -62,3 +62,8 @@
#ifdef THREADS_HAVE_PIDS
PERLVARI(Gppid, IV, 0)
#endif
+
+#if defined(USE_5005THREADS) || defined(USE_ITHREADS)
+PERLVAR(Gdollarzero_mutex, perl_mutex) /* Modifying $0 */
+#endif
+
End of Patch.