# All variables declared here are shared between all interpreters # in a single process. That means that they must not be changed # unless that change should apply to all interpreters. # # See check-c-globals.py. # # Many generic names are handled via the script: # # * most exceptions and all warnings handled via _is_exception() # * for builtin modules, generic names are handled via _is_module() # * generic names for static types handled via _is_type_var() # * AST vars handled via _is_compiler() ####################################### # main # Modules/getpath.c exec_prefix module_search_path prefix progpath # Modules/main.c orig_argc orig_argv # Python/getopt.c opt_ptr _PyOS_optarg _PyOS_opterr _PyOS_optind ####################################### # REPL # Parser/myreadline.c PyOS_InputHook PyOS_ReadlineFunctionPointer _PyOS_ReadlineLock _PyOS_ReadlineTState ####################################### # state # Python/dtoa.c p5s pmem_next # very slight race private_mem # very slight race # Python/import.c # For the moment the import lock stays global. Ultimately there should # be a global lock for extension modules and a per-interpreter lock. import_lock import_lock_level import_lock_thread # Python/pylifecycle.c _PyRuntime #--------------------------------- # module globals (PyObject) # Modules/_functoolsmodule.c kwd_mark # Modules/_localemodule.c Error # Modules/_threadmodule.c ThreadError # Modules/_tracemalloc.c unknown_filename # Modules/gcmodule.c gc_str # Modules/posixmodule.c billion posix_putenv_garbage # Modules/signalmodule.c DefaultHandler IgnoreHandler IntHandler ItimerError # Modules/zipimport.c ZipImportError zip_directory_cache #--------------------------------- # module globals (other) # Modules/_tracemalloc.c allocators tables_lock tracemalloc_config tracemalloc_empty_traceback tracemalloc_filenames tracemalloc_peak_traced_memory tracemalloc_reentrant_key tracemalloc_traceback tracemalloc_tracebacks tracemalloc_traced_memory tracemalloc_traces # Modules/faulthandler.c fatal_error faulthandler_handlers old_stack stack thread user_signals # Modules/posixmodule.c posix_constants_confstr posix_constants_pathconf posix_constants_sysconf structseq_new ticks_per_second # Modules/signalmodule.c Handlers # main thread only is_tripped # main thread only main_pid main_thread old_siginthandler wakeup_fd # main thread only # Modules/zipimport.c zip_searchorder # Python/bltinmodule.c Py_FileSystemDefaultEncodeErrors Py_FileSystemDefaultEncoding Py_HasFileSystemDefaultEncoding # Python/sysmodule.c _PySys_ImplCacheTag _PySys_ImplName #--------------------------------- # freelists # Modules/_collectionsmodule.c freeblocks numfreeblocks # Objects/classobject.c free_list numfree # Objects/dictobject.c free_list keys_free_list numfree numfreekeys # Objects/exceptions.c memerrors_freelist memerrors_numfree # Objects/floatobject.c free_list numfree # Objects/frameobject.c free_list numfree # Objects/genobject.c ag_asend_freelist ag_asend_freelist_free ag_value_freelist ag_value_freelist_free # Objects/listobject.c free_list numfree # Objects/methodobject.c free_list numfree # Objects/sliceobject.c slice_cache # slight race # Objects/tupleobject.c free_list numfree # Python/dtoa.c freelist # very slight race #--------------------------------- # caches (PyObject) # Objects/typeobject.c method_cache # only for static types next_version_tag # only for static types # Python/dynload_shlib.c handles # slight race during import nhandles # slight race during import # Python/import.c extensions # slight race on init during import #--------------------------------- # caches (other) # Python/bootstrap_hash.c urandom_cache # Python/modsupport.c _Py_PackageContext # Slight race during import! Move to PyThreadState? #--------------------------------- # counters # Objects/bytesobject.c null_strings one_strings # Objects/dictobject.c pydict_global_version # Objects/moduleobject.c max_module_number # slight race during import ####################################### # constants #--------------------------------- # singletons # Objects/boolobject.c _Py_FalseStruct _Py_TrueStruct # Objects/object.c _Py_NoneStruct _Py_NotImplementedStruct # Objects/sliceobject.c _Py_EllipsisObject #--------------------------------- # constants (other) # Modules/config.c _PyImport_Inittab # Objects/bytearrayobject.c _PyByteArray_empty_string # Objects/dictobject.c empty_keys_struct empty_values # Objects/floatobject.c detected_double_format detected_float_format double_format float_format # Objects/longobject.c _PyLong_DigitValue # Objects/object.c _Py_SwappedOp # Objects/obmalloc.c _PyMem_Debug # Objects/setobject.c _dummy_struct # Objects/structseq.c PyStructSequence_UnnamedField # Objects/typeobject.c name_op slotdefs # almost slotdefs_initialized # almost subtype_getsets_dict_only subtype_getsets_full subtype_getsets_weakref_only tp_new_methoddef # Objects/unicodeobject.c bloom_linebreak static_strings # slight race # Parser/tokenizer.c _PyParser_TokenNames # Python/Python-ast.c alias_fields # Python/codecs.c Py_hexdigits ucnhash_CAPI # slight performance-only race # Python/dynload_shlib.c _PyImport_DynLoadFiletab # Python/fileutils.c _Py_open_cloexec_works force_ascii # Python/frozen.c M___hello__ PyImport_FrozenModules # Python/graminit.c _PyParser_Grammar dfas labels # Python/import.c PyImport_Inittab # Python/pylifecycle.c _TARGET_LOCALES #--------------------------------- # initialized (PyObject) # Objects/bytesobject.c characters nullstring # Objects/exceptions.c PyExc_RecursionErrorInst errnomap # Objects/longobject.c _PyLong_One _PyLong_Zero small_ints # Objects/setobject.c emptyfrozenset # Objects/unicodeobject.c interned # slight race on init in PyUnicode_InternInPlace() unicode_empty unicode_latin1 #--------------------------------- # initialized (other) # Python/getargs.c static_arg_parsers # Python/pyhash.c PyHash_Func _Py_HashSecret _Py_HashSecret_Initialized # Python/pylifecycle.c _Py_StandardStreamEncoding _Py_StandardStreamErrors default_home env_home progname Py_BytesWarningFlag Py_DebugFlag Py_DontWriteBytecodeFlag Py_FrozenFlag Py_HashRandomizationFlag Py_IgnoreEnvironmentFlag Py_InspectFlag Py_InteractiveFlag Py_IsolatedFlag Py_NoSiteFlag Py_NoUserSiteDirectory Py_OptimizeFlag Py_QuietFlag Py_UnbufferedStdioFlag Py_VerboseFlag #--------------------------------- # types # Modules/_threadmodule.c Locktype RLocktype localdummytype localtype # Objects/exceptions.c PyExc_BaseException PyExc_Exception PyExc_GeneratorExit PyExc_KeyboardInterrupt PyExc_StopAsyncIteration PyExc_StopIteration PyExc_SystemExit _PyExc_BaseException _PyExc_Exception _PyExc_GeneratorExit _PyExc_KeyboardInterrupt _PyExc_StopAsyncIteration _PyExc_StopIteration _PyExc_SystemExit # Objects/structseq.c _struct_sequence_template #--------------------------------- # interned strings/bytes # Modules/_io/_iomodule.c _PyIO_empty_bytes _PyIO_empty_str _PyIO_str_close _PyIO_str_closed _PyIO_str_decode _PyIO_str_encode _PyIO_str_fileno _PyIO_str_flush _PyIO_str_getstate _PyIO_str_isatty _PyIO_str_newlines _PyIO_str_nl _PyIO_str_read _PyIO_str_read1 _PyIO_str_readable _PyIO_str_readall _PyIO_str_readinto _PyIO_str_readline _PyIO_str_reset _PyIO_str_seek _PyIO_str_seekable _PyIO_str_setstate _PyIO_str_tell _PyIO_str_truncate _PyIO_str_writable _PyIO_str_write # Modules/_threadmodule.c str_dict # Objects/boolobject.c false_str true_str # Objects/listobject.c indexerr # Python/symtable.c __class__ dictcomp genexpr lambda listcomp setcomp top # Python/sysmodule.c whatstrings ####################################### # hacks # Objects/object.c _Py_abstract_hack # Objects/setobject.c _PySet_Dummy # Python/pylifecycle.c _PyOS_mystrnicmp_hack