From 43165c0500446fb6e4a036657f82b50e22c886e0 Mon Sep 17 00:00:00 2001 From: Gurusamy Sarathy Date: Fri, 11 Jun 1999 23:13:54 +0000 Subject: [PATCH] various little tweaks; most globals are now in intrpvar.h, ninterps is temporarily gone p4raw-id: //depot/perl@3535 --- embed.pl | 2 +- intrpvar.h | 22 ++++++++++++++++++++++ perl.c | 5 ----- perlvars.h | 30 +++++------------------------- pod/perldelta.pod | 9 ++++----- proto.h | 2 +- win32/perllib.c | 2 -- 7 files changed, 33 insertions(+), 39 deletions(-) diff --git a/embed.pl b/embed.pl index 452a4de..eb0d42c 100755 --- a/embed.pl +++ b/embed.pl @@ -1402,7 +1402,7 @@ p |int |runops_standard p |int |runops_debug #if defined(WIN32) -p |int& |ErrorNo +p |int* |ErrorNo #endif p |void |sv_catpvf_mg |SV *sv|const char* pat|... p |void |sv_catpv_mg |SV *sv|const char *ptr diff --git a/intrpvar.h b/intrpvar.h index f41433b..744ff31 100644 --- a/intrpvar.h +++ b/intrpvar.h @@ -352,6 +352,28 @@ PERLVAR(Iuudmap[256], char) PERLVAR(Ibitcount, char *) PERLVAR(Ifilter_debug, int) +#ifdef USE_THREADS +PERLVAR(Ithr_key, perl_key) /* For per-thread struct perl_thread* */ +PERLVAR(Isv_mutex, perl_mutex) /* Mutex for allocating SVs in sv.c */ +PERLVAR(Imalloc_mutex, perl_mutex) /* Mutex for malloc */ +PERLVAR(Ieval_mutex, perl_mutex) /* Mutex for doeval */ +PERLVAR(Ieval_cond, perl_cond) /* Condition variable for doeval */ +PERLVAR(Ieval_owner, struct perl_thread *) + /* Owner thread for doeval */ +PERLVAR(Inthreads, int) /* Number of threads currently */ +PERLVAR(Ithreads_mutex, perl_mutex) /* Mutex for nthreads and thread list */ +PERLVAR(Inthreads_cond, perl_cond) /* Condition variable for nthreads */ +PERLVAR(Isvref_mutex, perl_mutex) /* Mutex for SvREFCNT_{inc,dec} */ +PERLVARI(Ithreadsv_names,char *, THREADSV_NAMES) +#ifdef FAKE_THREADS +PERLVAR(Icurthr, struct perl_thread *) + /* Currently executing (fake) thread */ +#endif + +PERLVAR(Icred_mutex, perl_mutex) /* altered credentials in effect */ + +#endif /* USE_THREADS */ + #ifdef PERL_OBJECT PERLVARI(piMem, IPerlMem*, NULL) PERLVARI(piENV, IPerlEnv*, NULL) diff --git a/perl.c b/perl.c index 29eba5b..6be4342 100644 --- a/perl.c +++ b/perl.c @@ -83,7 +83,6 @@ perl_construct(register PerlInterpreter *my_perl) #endif #ifdef MULTIPLICITY - ++PL_ninterps; Zero(my_perl, 1, PerlInterpreter); #endif @@ -308,10 +307,6 @@ perl_destruct(register PerlInterpreter *my_perl) LEAVE; FREETMPS; -#ifdef MULTIPLICITY - --PL_ninterps; -#endif - /* We must account for everything. */ /* Destroy the main CV and syntax tree */ diff --git a/perlvars.h b/perlvars.h index c1a0dd4..664164d 100644 --- a/perlvars.h +++ b/perlvars.h @@ -19,34 +19,14 @@ /* global state */ PERLVAR(Gcurinterp, PerlInterpreter *) - /* currently running interpreter */ -#ifdef USE_THREADS -PERLVAR(Gthr_key, perl_key) /* For per-thread struct perl_thread* */ -PERLVAR(Gsv_mutex, perl_mutex) /* Mutex for allocating SVs in sv.c */ -PERLVAR(Gmalloc_mutex, perl_mutex) /* Mutex for malloc */ -PERLVAR(Geval_mutex, perl_mutex) /* Mutex for doeval */ -PERLVAR(Geval_cond, perl_cond) /* Condition variable for doeval */ -PERLVAR(Geval_owner, struct perl_thread *) - /* Owner thread for doeval */ -PERLVAR(Gnthreads, int) /* Number of threads currently */ -PERLVAR(Gthreads_mutex, perl_mutex) /* Mutex for nthreads and thread list */ -PERLVAR(Gnthreads_cond, perl_cond) /* Condition variable for nthreads */ -PERLVAR(Gsvref_mutex, perl_mutex) /* Mutex for SvREFCNT_{inc,dec} */ -PERLVARI(Gthreadsv_names,char *, THREADSV_NAMES) -#ifdef FAKE_THREADS -PERLVAR(Gcurthr, struct perl_thread *) - /* Currently executing (fake) thread */ -#endif - -PERLVAR(Gcred_mutex, perl_mutex) /* altered credentials in effect */ - -#endif /* USE_THREADS */ - -PERLVAR(Gninterps, int) /* number of active interpreters */ -PERLVARI(Gdo_undump, bool, FALSE) /* -u or dump seen? */ + /* currently running interpreter + * XXX this needs to be in TLS */ /* constants (these are not literals to facilitate pointer comparisons) */ PERLVARIC(GYes, char *, "1") PERLVARIC(GNo, char *, "") PERLVARIC(Ghexdigit, char *, "0123456789abcdef0123456789ABCDEF") PERLVARIC(Gpatleave, char *, "\\.^$@dDwWsSbB+*?|()-nrtfeaxc0123456789[{]}") + +/* XXX does anyone even use this? */ +PERLVARI(Gdo_undump, bool, FALSE) /* -u or dump seen? */ diff --git a/pod/perldelta.pod b/pod/perldelta.pod index b330e5d..3f2214a 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -296,11 +296,6 @@ Verify operations that access pad objects (lexicals and temporaries). =over 4 -=item caller - -Allows modules to inherit pragmatic attributes from the caller's -context. C is currently the only supported attribute. - =item Dumpvalue Added Dumpvalue module provides screen dumps of Perl data. @@ -429,6 +424,10 @@ See L for further information. C to enable UTF-8 and Unicode support. +C allows modules to inherit pragmatic attributes +from the caller's context. C is currently the only supported +attribute. + Lexical warnings pragma, C, to control optional warnings. C to control the behaviour of filetests (C<-r> C<-w> ...). diff --git a/proto.h b/proto.h index 3d17fea..222654c 100644 --- a/proto.h +++ b/proto.h @@ -647,7 +647,7 @@ void Perl_yydestruct(pTHX_ void *ptr); int Perl_runops_standard(pTHX); int Perl_runops_debug(pTHX); #if defined(WIN32) -int& Perl_ErrorNo(pTHX); +int* Perl_ErrorNo(pTHX); #endif void Perl_sv_catpvf_mg(pTHX_ SV *sv, const char* pat, ...); void Perl_sv_catpv_mg(pTHX_ SV *sv, const char *ptr); diff --git a/win32/perllib.c b/win32/perllib.c index 255ad39..452fcdf 100644 --- a/win32/perllib.c +++ b/win32/perllib.c @@ -28,8 +28,6 @@ RunPerl(int argc, char **argv, char **env, void *iosubsystem) PERL_SYS_INIT(&argc,&argv); - init_i18nl10n(1); - if (!(my_perl = perl_alloc())) return (1); perl_construct( my_perl ); -- 2.7.4