0
0
mirror of https://github.com/vim/vim.git synced 2025-09-25 03:54:15 -04:00

updated for version 7.3.786

Problem:    Python threads don't run in the background (issue 103).
Solution:   Move the statements to manipulate thread state.
This commit is contained in:
Bram Moolenaar
2013-01-30 11:44:39 +01:00
parent 2f315ab7be
commit 02366255c9
2 changed files with 11 additions and 7 deletions

View File

@@ -740,12 +740,11 @@ Python_Init(void)
#else
PyMac_Initialize();
#endif
/* Initialise threads, and save the state using PyGILState_Ensure.
* Without the call to PyGILState_Ensure, thread specific state (such
* as the system trace hook), will be lost between invocations of
* Python code. */
/* Initialise threads, and below save the state using
* PyGILState_Ensure. Without the call to PyGILState_Ensure, thread
* specific state (such as the system trace hook), will be lost
* between invocations of Python code. */
PyEval_InitThreads();
pygilstate = PyGILState_Ensure();
#ifdef DYNAMIC_PYTHON
get_exceptions();
#endif
@@ -756,6 +755,10 @@ Python_Init(void)
if (PythonMod_Init())
goto fail;
/* The first python thread is vim's, release the lock. */
Python_SaveThread();
pygilstate = PyGILState_Ensure();
globals = PyModule_GetDict(PyImport_AddModule("__main__"));
/* Remove the element from sys.path that was added because of our
@@ -764,8 +767,7 @@ Python_Init(void)
* the current directory in sys.path. */
PyRun_SimpleString("import sys; sys.path = filter(lambda x: x != '/must>not&exist', sys.path)");
/* the first python thread is vim's, release the lock */
Python_SaveThread();
PyGILState_Release(pygilstate);
initialised = 1;
}

View File

@@ -725,6 +725,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
786,
/**/
785,
/**/