]> granicus.if.org Git - python/commit
bpo-30891: Fix again importlib _find_and_load() (#2665) (#2801)
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 21 Jul 2017 11:28:55 +0000 (13:28 +0200)
committerGitHub <noreply@github.com>
Fri, 21 Jul 2017 11:28:55 +0000 (13:28 +0200)
commitbb323b261d0f41ad6998d3a16c41b29b3bb8e982
tree244cd6bd19cd4dc938c2037ed38f66f6b7275f59
parentdf5837b5a916aac645087ae02c44e88ff77024ef
bpo-30891: Fix again importlib _find_and_load() (#2665) (#2801)

Use sys.modules.get() in the "with _ModuleLockManager(name):" block
to protect the dictionary key with the module lock and use an atomic
get to prevent race condition.

Remove also _bootstrap._POPULATE since it was unused
(_bootstrap_external now has its own _POPULATE object), add a new
_SENTINEL object instead.
(cherry picked from commit e72b1359f81d1dd42bd8a5c5cc2b3928b74f8023)
Lib/importlib/_bootstrap.py
Python/importlib.h