Submit
Path:
~
/
/
opt
/
alt
/
python37
/
include
/
python3.7m
/
internal
/
File Content:
gil.h
#ifndef Py_INTERNAL_GIL_H #define Py_INTERNAL_GIL_H #ifdef __cplusplus extern "C" { #endif #include "pyatomic.h" #include "internal/condvar.h" #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 */
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
ceval.h
1438 bytes
0644
condvar.h
2726 bytes
0644
context.h
701 bytes
0644
gil.h
1432 bytes
0644
hamt.h
3046 bytes
0644
hash.h
123 bytes
0644
import.h
114 bytes
0644
mem.h
6831 bytes
0644
pygetopt.h
458 bytes
0644
pystate.h
4051 bytes
0644
warnings.h
508 bytes
0644
N4ST4R_ID | Naxtarrr