This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
perl_mutex n/a if !USE_THREADS
[perl5.git] / perlvars.h
CommitLineData
49f531da
NIS
1/****************/
2/* Truly global */
3/****************/
4
cb68f92d
GS
5/* Don't forget to re-run embed.pl to propagate changes! */
6
7/* This file describes the "global" variables used by perl
8 * This used to be in perl.h directly but we want to abstract out into
9 * distinct files which are per-thread, per-interpreter or really global,
10 * and how they're initialized.
11 *
12 * The 'G' prefix is only needed for vars that need appropriate #defines
22c35a8c 13 * generated in embed*.h. Such symbols are also used to generate
cb68f92d
GS
14 * the appropriate export list for win32.
15 *
16 * Avoid build-specific #ifdefs here, like DEBUGGING. That way,
17 * we can keep binary compatibility of the curinterp structure */
18
19
49f531da 20/* global state */
cb68f92d 21PERLVAR(Gcurinterp, PerlInterpreter *)
43165c05
GS
22 /* currently running interpreter
23 * XXX this needs to be in TLS */
a0ed51b3 24
3fe35a81 25/* constants (these are not literals to facilitate pointer comparisons) */
3fe6f2dc
MB
26PERLVARIC(GYes, char *, "1")
27PERLVARIC(GNo, char *, "")
e3fdf988 28PERLVARIC(Ghexdigit, char *, "0123456789abcdef0123456789ABCDEF")
3fe6f2dc 29PERLVARIC(Gpatleave, char *, "\\.^$@dDwWsSbB+*?|()-nrtfeaxc0123456789[{]}")
43165c05
GS
30
31/* XXX does anyone even use this? */
32PERLVARI(Gdo_undump, bool, FALSE) /* -u or dump seen? */
b363f7ed 33
70df91df 34#if defined(MYMALLOC) && defined(USE_THREADS)
b363f7ed
GS
35PERLVAR(Gmalloc_mutex, perl_mutex) /* Mutex for malloc */
36#endif