/* 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.
#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.
#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
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 */