1 /****************/ 2 /* Truly global */ 3 /****************/ 4 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 13 * generated in embed*.h. Such symbols are also used to generate 14 * the appropriate export list for win32. */ 15 16 /* global state */ 17 PERLVAR(Gcurinterp, PerlInterpreter *) 18 /* currently running interpreter 19 * (initial parent interpreter under 20 * useithreads) */ 21 #if defined(USE_THREADS) || defined(USE_ITHREADS) 22 PERLVAR(Gthr_key, perl_key) /* key to retrieve per-thread struct */ 23 #endif 24 25 /* constants (these are not literals to facilitate pointer comparisons) */ 26 PERLVARIC(GYes, char *, "1") 27 PERLVARIC(GNo, char *, "") 28 PERLVARIC(Ghexdigit, char *, "0123456789abcdef0123456789ABCDEF") 29 PERLVARIC(Gpatleave, char *, "\\.^$@dDwWsSbB+*?|()-nrtfeaxc0123456789[{]}") 30 31 /* XXX does anyone even use this? */ 32 PERLVARI(Gdo_undump, bool, FALSE) /* -u or dump seen? */ 33 34 #if defined(MYMALLOC) && (defined(USE_THREADS) || defined(USE_ITHREADS)) 35 PERLVAR(Gmalloc_mutex, perl_mutex) /* Mutex for malloc */ 36 #endif 37 38 #if defined(USE_ITHREADS) 39 PERLVAR(Gop_mutex, perl_mutex) /* Mutex for op refcounting */ 40 #endif 41