Re: Proposed changes and to regular expression interfaces in core
[p5sagit/p5-mst-13.2.git] / perlvars.h
index 35af2dc..4970146 100644 (file)
@@ -1,6 +1,7 @@
 /*    perlvars.h
  *
- *    Copyright (C) 1999, 2000, 2001, 2002, by Larry Wall and others
+ *    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
+ *    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.
@@ -54,7 +55,11 @@ PERLVAR(Gdollarzero_mutex, perl_mutex)       /* Modifying $0 */
 #endif
 
 /* This is constant on most architectures, a global on OS/2 */
+#ifdef OS2
+PERLVARI(Gsh_path,           char *,   SH_PATH)/* full path of shell */
+#else
 PERLVARI(Gsh_path,     const char *,   SH_PATH)/* full path of shell */
+#endif
 
 #ifndef PERL_MICRO
 /* If Perl has to ignore SIGPFE, this is its saved state.
@@ -67,7 +72,7 @@ PERLVAR(Gsigfpe_saved,        Sighandler_t)
 PERLVAR(Gsv_placeholder, SV)
 
 #ifndef PERL_MICRO
-PERLVARI(Gcsighandlerp,        Sighandler_t, &Perl_csighandler)        /* Pointer to C-level sighandler */
+PERLVARI(Gcsighandlerp,        Sighandler_t, Perl_csighandler) /* Pointer to C-level sighandler */
 #endif
 
 #ifndef PERL_USE_SAFE_PUTENV
@@ -75,7 +80,8 @@ PERLVARI(Guse_safe_putenv, int, 1)
 #endif
 
 #ifdef USE_PERLIO
-PERLVARA(Gperlio_fd_refcnt, 2048, int) /* PERLIO_MAX_REFCOUNTABLE_FD */
+PERLVARI(Gperlio_fd_refcnt, int*, 0) /* Pointer to array of fd refcounts.  */
+PERLVARI(Gperlio_fd_refcnt_size, int, 0) /* Size of the array */
 PERLVARI(Gperlio_debug_fd, int, 0) /* the fd to write perlio debug into, 0 means not set yet */
 #endif
 
@@ -124,4 +130,24 @@ PERLVARI(Gop_seq, UV, 0) /* dump.c */
 PERLVAR(Gtimesbase, struct tms)
 #endif
 
+/* allocate a unique index to every module that calls MY_CXT_INIT */
+
+#ifdef PERL_IMPLICIT_CONTEXT
+# ifdef USE_ITHREADS
+PERLVAR(Gmy_ctx_mutex, perl_mutex)
+# endif
+PERLVARI(Gmy_cxt_index, int, 0)
+#endif
+
+#if defined(USE_ITHREADS)
+PERLVAR(Ghints_mutex, perl_mutex)    /* Mutex for refcounted he refcounting */
+#endif
+
+#if defined(USE_ITHREADS)
+PERLVAR(Gperlio_mutex, perl_mutex)    /* Mutex for perlio fd refcounts */
+#endif
+
+/* this is currently set without MUTEX protection, so keep it a type which
+ * can be set atomically (ie not a bit field) */
+PERLVARI(Gveto_cleanup,        int, FALSE)     /* exit without cleanup */