X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=perlvars.h;h=9cc8a2f57e192893436ce7ddce8074fe6999b400;hb=2666606c37c09f62a1f69e2cae2faf375d42fc41;hp=55769d55ca0a2a65112b53cbdec898517c072be6;hpb=1feb27209aee3921894ffc1cc08027670d4240f3;p=p5sagit%2Fp5-mst-13.2.git diff --git a/perlvars.h b/perlvars.h index 55769d5..9cc8a2f 100644 --- a/perlvars.h +++ b/perlvars.h @@ -1,3 +1,12 @@ +/* perlvars.h + * + * Copyright (C) 1999, 2000, 2001, 2002, by Larry Wall and others + * + * You may distribute under the terms of either the GNU General Public + * License or the Artistic License, as specified in the README file. + * + */ + /****************/ /* Truly global */ /****************/ @@ -11,16 +20,16 @@ * * The 'G' prefix is only needed for vars that need appropriate #defines * generated in embed*.h. Such symbols are also used to generate - * the appropriate export list for win32. - * - * Avoid build-specific #ifdefs here, like DEBUGGING. That way, - * we can keep binary compatibility of the curinterp structure */ - + * the appropriate export list for win32. */ /* global state */ PERLVAR(Gcurinterp, PerlInterpreter *) /* currently running interpreter - * XXX this needs to be in TLS */ + * (initial parent interpreter under + * useithreads) */ +#if defined(USE_ITHREADS) +PERLVAR(Gthr_key, perl_key) /* key to retrieve per-thread struct */ +#endif /* constants (these are not literals to facilitate pointer comparisons) */ PERLVARIC(GYes, char *, "1") @@ -31,6 +40,32 @@ PERLVARIC(Gpatleave, char *, "\\.^$@dDwWsSbB+*?|()-nrtfeaxc0123456789[{]}") /* XXX does anyone even use this? */ PERLVARI(Gdo_undump, bool, FALSE) /* -u or dump seen? */ -#if defined(MYMALLOC) && (defined(USE_THREADS) || defined(USE_ITHREADS)) +#if defined(MYMALLOC) && defined(USE_ITHREADS) PERLVAR(Gmalloc_mutex, perl_mutex) /* Mutex for malloc */ #endif + +#if defined(USE_ITHREADS) +PERLVAR(Gop_mutex, perl_mutex) /* Mutex for op refcounting */ +#endif + +#ifdef USE_ITHREADS +PERLVAR(Gdollarzero_mutex, perl_mutex) /* Modifying $0 */ +#endif + +/* This is constant on most architectures, a global on OS/2 */ +PERLVARI(Gsh_path, char *, SH_PATH)/* full path of shell */ + +#ifndef PERL_MICRO +/* If Perl has to ignore SIGPFE, this is its saved state. + * See perl.h macros PERL_FPU_INIT and PERL_FPU_{PRE,POST}_EXEC. */ +PERLVAR(Gsigfpe_saved, Sighandler_t) +#endif + +/* Restricted hashes placeholder value. + * The contents are never used, only the address. */ +PERLVAR(Gsv_placeholder, SV) + +#ifndef PERL_MICRO +PERLVARI(Gcsighandlerp, Sighandler_t, &Perl_csighandler) /* Pointer to C-level sighandler */ +#endif +