This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Linux/NFS hackery was not faking right number of passes.
[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
14dd3ad8 14 * the appropriate export list for win32. */
cb68f92d 15
49f531da 16/* global state */
cb68f92d 17PERLVAR(Gcurinterp, PerlInterpreter *)
43165c05 18 /* currently running interpreter
ba869deb
GS
19 * (initial parent interpreter under
20 * useithreads) */
4d1ff10f 21#if defined(USE_5005THREADS) || defined(USE_ITHREADS)
ba869deb
GS
22PERLVAR(Gthr_key, perl_key) /* key to retrieve per-thread struct */
23#endif
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
4d1ff10f 34#if defined(MYMALLOC) && (defined(USE_5005THREADS) || defined(USE_ITHREADS))
b363f7ed
GS
35PERLVAR(Gmalloc_mutex, perl_mutex) /* Mutex for malloc */
36#endif
534825c4
GS
37
38#if defined(USE_ITHREADS)
39PERLVAR(Gop_mutex, perl_mutex) /* Mutex for op refcounting */
40#endif
60e4ec2e
NIS
41
42/* Force inclusion of both runops options */
43PERLVARI(Grunops_std, runops_proc_t, MEMBER_TO_FPTR(Perl_runops_standard))
44PERLVARI(Grunops_dbg, runops_proc_t, MEMBER_TO_FPTR(Perl_runops_debug))
45
68795e93
NIS
46/* Hooks to shared SVs and locks. */
47PERLVARI(Gsharehook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nosharing))
48PERLVARI(Glockhook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nolocking))
49PERLVARI(Gunlockhook, share_proc_t, MEMBER_TO_FPTR(Perl_sv_nounlocking))
50