]> granicus.if.org Git - python/commit
bpo-30891: Fix again importlib _find_and_load() (#2665)
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 21 Jul 2017 11:00:46 +0000 (13:00 +0200)
committerGitHub <noreply@github.com>
Fri, 21 Jul 2017 11:00:46 +0000 (13:00 +0200)
commite72b1359f81d1dd42bd8a5c5cc2b3928b74f8023
tree845e7c5701752a30063a95e02228c47e23c3375e
parent3913bad4957ac30e58a7ffe9279333ad176a8eea
bpo-30891: Fix again importlib _find_and_load() (#2665)

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.
Lib/importlib/_bootstrap.py
Python/importlib.h