diff options
Diffstat (limited to 'Python')
| -rw-r--r-- | Python/ceval.c | 9 | ||||
| -rw-r--r-- | Python/pythonrun.c | 3 |
2 files changed, 12 insertions, 0 deletions
diff --git a/Python/ceval.c b/Python/ceval.c index a0e8b30..6d2b17f 100644 --- a/Python/ceval.c +++ b/Python/ceval.c @@ -230,6 +230,15 @@ PyEval_InitThreads(void) } void +_PyEval_FiniThreads(void) +{ + if (interpreter_lock) + PyThread_free_lock(interpreter_lock); + interpreter_lock = 0; + main_thread = 0; +} + +void PyEval_AcquireLock(void) { PyThread_acquire_lock(interpreter_lock, 1); diff --git a/Python/pythonrun.c b/Python/pythonrun.c index 88fd67c..80f6232 100644 --- a/Python/pythonrun.c +++ b/Python/pythonrun.c @@ -60,6 +60,7 @@ static void call_sys_exitfunc(void); static void call_ll_exitfuncs(void); extern void _PyUnicode_Init(void); extern void _PyUnicode_Fini(void); +extern void _PyEval_FiniThreads(void); #ifdef WITH_THREAD extern void _PyGILState_Init(PyInterpreterState *, PyThreadState *); @@ -461,6 +462,8 @@ Py_Finalize(void) _PyUnicode_Fini(); #endif + _PyEval_FiniThreads(); + /* XXX Still allocated: - various static ad-hoc pointers to interned strings - int and float free list blocks |
