summaryrefslogtreecommitdiffstats
path: root/Python/import.c
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@gmail.com>2017-07-10 20:52:32 (GMT)
committerGitHub <noreply@github.com>2017-07-10 20:52:32 (GMT)
commit4f9a446f3fb42f800e73cd9414dd1eccb3ca4fa7 (patch)
tree2fcee0a8915be2eee63c1856e8a1147fa1fd4a4b /Python/import.c
parentb136f11f3a51f9282ae992bac68f170ca5563b55 (diff)
downloadcpython-4f9a446f3fb42f800e73cd9414dd1eccb3ca4fa7.zip
cpython-4f9a446f3fb42f800e73cd9414dd1eccb3ca4fa7.tar.gz
cpython-4f9a446f3fb42f800e73cd9414dd1eccb3ca4fa7.tar.bz2
bpo-30891: Fix importlib _find_and_load() race condition (#2646)
* Rewrite importlib _get_module_lock(): it is now responsible to hold the imp lock directly. * _find_and_load() now holds the module lock to check if name is in sys.modules to prevent a race condition
Diffstat (limited to 'Python/import.c')
-rw-r--r--Python/import.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/Python/import.c b/Python/import.c
index 6cdb366..ee59926 100644
--- a/Python/import.c
+++ b/Python/import.c
@@ -1559,10 +1559,6 @@ PyImport_ImportModuleLevelObject(PyObject *name, PyObject *globals,
if (initializing == -1)
PyErr_Clear();
if (initializing > 0) {
-#ifdef WITH_THREAD
- _PyImport_AcquireLock();
-#endif
- /* _bootstrap._lock_unlock_module() releases the import lock */
value = _PyObject_CallMethodIdObjArgs(interp->importlib,
&PyId__lock_unlock_module, abs_name,
NULL);