X7ROOT File Manager
Current Path:
/opt/alt/python310/include/python3.10/internal
opt
/
alt
/
python310
/
include
/
python3.10
/
internal
/
ðŸ“
..
📄
pycore_abstract.h
(479 B)
📄
pycore_accu.h
(1.1 KB)
📄
pycore_asdl.h
(2.9 KB)
📄
pycore_ast.h
(28.15 KB)
📄
pycore_ast_state.h
(6.31 KB)
📄
pycore_atomic.h
(16.58 KB)
📄
pycore_atomic_funcs.h
(2.38 KB)
📄
pycore_bitutils.h
(5.15 KB)
📄
pycore_blocks_output_buffer.h
(8.48 KB)
📄
pycore_bytes_methods.h
(3.3 KB)
📄
pycore_call.h
(870 B)
📄
pycore_ceval.h
(3.4 KB)
📄
pycore_code.h
(696 B)
📄
pycore_compile.h
(1.02 KB)
📄
pycore_condvar.h
(2.74 KB)
📄
pycore_context.h
(822 B)
📄
pycore_dtoa.h
(646 B)
📄
pycore_fileutils.h
(1.66 KB)
📄
pycore_format.h
(480 B)
📄
pycore_gc.h
(6.7 KB)
📄
pycore_getopt.h
(490 B)
📄
pycore_gil.h
(1.53 KB)
📄
pycore_hamt.h
(3.61 KB)
📄
pycore_hashtable.h
(4.1 KB)
📄
pycore_import.h
(346 B)
📄
pycore_initconfig.h
(5.49 KB)
📄
pycore_interp.h
(9.07 KB)
📄
pycore_list.h
(350 B)
📄
pycore_long.h
(2.53 KB)
📄
pycore_moduleobject.h
(1.02 KB)
📄
pycore_object.h
(5.85 KB)
📄
pycore_parser.h
(626 B)
📄
pycore_pathconfig.h
(1.93 KB)
📄
pycore_pyarena.h
(2.67 KB)
📄
pycore_pyerrors.h
(2.26 KB)
📄
pycore_pyhash.h
(206 B)
📄
pycore_pylifecycle.h
(4.82 KB)
📄
pycore_pymem.h
(3.14 KB)
📄
pycore_pystate.h
(3.85 KB)
📄
pycore_runtime.h
(4.79 KB)
📄
pycore_structseq.h
(386 B)
📄
pycore_symtable.h
(5.45 KB)
📄
pycore_sysmodule.h
(548 B)
📄
pycore_traceback.h
(2.9 KB)
📄
pycore_tuple.h
(425 B)
📄
pycore_ucnhash.h
(898 B)
📄
pycore_unionobject.h
(629 B)
📄
pycore_warnings.h
(633 B)
Editing: pycore_gil.h
#ifndef Py_INTERNAL_GIL_H #define Py_INTERNAL_GIL_H #ifdef __cplusplus extern "C" { #endif #ifndef Py_BUILD_CORE # error "this header requires Py_BUILD_CORE define" #endif #include "pycore_atomic.h" /* _Py_atomic_address */ #include "pycore_condvar.h" /* PyCOND_T */ #ifndef Py_HAVE_CONDVAR # error You need either a POSIX-compatible or a Windows system! #endif /* Enable if you want to force the switching of threads at least every `interval`. */ #undef FORCE_SWITCHING #define FORCE_SWITCHING struct _gil_runtime_state { /* microseconds (the Python API uses seconds, though) */ unsigned long interval; /* Last PyThreadState holding / having held the GIL. This helps us know whether anyone else was scheduled after we dropped the GIL. */ _Py_atomic_address last_holder; /* Whether the GIL is already taken (-1 if uninitialized). This is atomic because it can be read without any lock taken in ceval.c. */ _Py_atomic_int locked; /* Number of GIL switches since the beginning. */ unsigned long switch_number; /* This condition variable allows one or several threads to wait until the GIL is released. In addition, the mutex also protects the above variables. */ PyCOND_T cond; PyMUTEX_T mutex; #ifdef FORCE_SWITCHING /* This condition variable helps the GIL-releasing thread wait for a GIL-awaiting thread to be scheduled and take the GIL. */ PyCOND_T switch_cond; PyMUTEX_T switch_mutex; #endif }; #ifdef __cplusplus } #endif #endif /* !Py_INTERNAL_GIL_H */
Upload File
Create Folder