PHP 8.2.30
Preview: pycore_gil.h Size: 1.53 KB
//opt/alt/python310/include/python3.10/internal/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 */

Directory Contents

Dirs: 0 × Files: 48

Name Size Perms Modified Actions
479 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
1.10 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
2.90 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
28.15 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
6.31 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
16.58 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
2.38 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
5.15 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
8.48 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
3.30 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
870 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
3.40 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
696 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
1.02 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
2.74 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
822 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
646 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
1.66 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
480 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
6.70 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
490 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
1.53 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
3.61 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
4.10 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
346 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
5.49 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
9.07 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
350 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
2.53 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
1.02 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
5.85 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
626 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
1.93 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
2.67 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
2.26 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
206 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
4.82 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
3.14 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
3.85 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
4.79 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
386 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
5.45 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
548 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
2.90 KB lrw-r--r-- 2025-10-09 15:25:03
Edit Download
425 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
898 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
629 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download
633 B lrw-r--r-- 2025-10-09 15:25:03
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).