From fe6e686c27ce3a3ecdf03803cff7e230dee5530d Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 10 Jul 2017 23:16:27 +0200 Subject: bpo-30891: Fix importlib _find_and_load() race condition (#2646) (#2651) * 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 (cherry picked from commit 4f9a446f3fb42f800e73cd9414dd1eccb3ca4fa7) --- Python/import.c | 4 ---- 1 file changed, 4 deletions(-) (limited to 'Python/import.c') diff --git a/Python/import.c b/Python/import.c index a9aa5b3c25..40e02c01ec 100644 --- a/Python/import.c +++ b/Python/import.c @@ -1560,10 +1560,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); -- cgit v1.2.1