PHP 8.2.30
Preview: pycore_gil.h Size: 1.53 KB
//opt/alt/python311/include/python3.11/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: 68

Name Size Perms Modified Actions
611 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.10 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
2.96 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
28.63 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
6.40 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
16.58 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
2.38 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
5.92 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
8.48 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.39 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
3.30 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
3.39 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
4.31 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
15.56 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.02 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
2.77 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.21 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
5.55 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
704 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
562 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
842 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
7.23 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.28 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
480 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
7.39 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
413 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
6.73 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.14 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
490 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.53 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.40 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
12.68 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
3.61 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
4.10 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
743 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
5.66 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
6.51 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
562 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.32 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
3.43 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.02 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
392 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
9.80 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
18.54 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
626 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
606 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
2.67 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
2.44 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
206 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
3.42 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
9.21 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
3.62 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
4.15 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
5.85 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
47.94 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
937 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
336 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
937 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
580 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
5.51 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
605 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
3.42 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
2.04 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.13 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
898 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
1.68 KB lrw-r--r-- 2025-10-09 16:16:55
Edit Download
678 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download
740 B lrw-r--r-- 2025-10-09 16:16:55
Edit Download

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