mirror of
https://github.com/python/cpython.git
synced 2025-08-03 00:23:06 +00:00
Merge in the new GIL.
This commit is contained in:
parent
434736a1a6
commit
074e5ed974
10 changed files with 522 additions and 73 deletions
|
@ -112,10 +112,6 @@ PyAPI_FUNC(PyObject *) PyEval_GetCallStats(PyObject *);
|
|||
PyAPI_FUNC(PyObject *) PyEval_EvalFrame(struct _frame *);
|
||||
PyAPI_FUNC(PyObject *) PyEval_EvalFrameEx(struct _frame *f, int exc);
|
||||
|
||||
/* this used to be handled on a per-thread basis - now just two globals */
|
||||
PyAPI_DATA(volatile int) _Py_Ticker;
|
||||
PyAPI_DATA(int) _Py_CheckInterval;
|
||||
|
||||
/* Interface for threads.
|
||||
|
||||
A module that plans to do a blocking system call (or something else
|
||||
|
@ -174,6 +170,9 @@ PyAPI_FUNC(void) PyEval_AcquireThread(PyThreadState *tstate);
|
|||
PyAPI_FUNC(void) PyEval_ReleaseThread(PyThreadState *tstate);
|
||||
PyAPI_FUNC(void) PyEval_ReInitThreads(void);
|
||||
|
||||
PyAPI_FUNC(void) _PyEval_SetSwitchInterval(unsigned long microseconds);
|
||||
PyAPI_FUNC(unsigned long) _PyEval_GetSwitchInterval(void);
|
||||
|
||||
#define Py_BEGIN_ALLOW_THREADS { \
|
||||
PyThreadState *_save; \
|
||||
_save = PyEval_SaveThread();
|
||||
|
@ -192,6 +191,7 @@ PyAPI_FUNC(void) PyEval_ReInitThreads(void);
|
|||
#endif /* !WITH_THREAD */
|
||||
|
||||
PyAPI_FUNC(int) _PyEval_SliceIndex(PyObject *, Py_ssize_t *);
|
||||
PyAPI_FUNC(void) _PyEval_SignalAsyncExc(void);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
|
|
@ -88,6 +88,8 @@ typedef struct _ts {
|
|||
|
||||
PyObject *dict; /* Stores per-thread state */
|
||||
|
||||
/* XXX doesn't mean anything anymore (the comment below is obsolete)
|
||||
=> deprecate or remove? */
|
||||
/* tick_counter is incremented whenever the check_interval ticker
|
||||
* reaches zero. The purpose is to give a useful measure of the number
|
||||
* of interpreted bytecode instructions in a given thread. This
|
||||
|
|
|
@ -18,7 +18,6 @@ PyAPI_FUNC(void) PySys_WriteStderr(const char *format, ...)
|
|||
Py_GCC_ATTRIBUTE((format(printf, 1, 2)));
|
||||
|
||||
PyAPI_DATA(PyObject *) _PySys_TraceFunc, *_PySys_ProfileFunc;
|
||||
PyAPI_DATA(int) _PySys_CheckInterval;
|
||||
|
||||
PyAPI_FUNC(void) PySys_ResetWarnOptions(void);
|
||||
PyAPI_FUNC(void) PySys_AddWarnOption(const wchar_t *);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue