From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 22 May 2020 22:22:51 +0000 (-0700) Subject: bpo-40327: Improve atomicity, speed, and memory efficiency of the items() loop (GH... X-Git-Tag: v3.8.4rc1~102 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=16d07812dd3833295cc001d19eea42eecbdb6ea5;p=thirdparty%2FPython%2Fcpython.git bpo-40327: Improve atomicity, speed, and memory efficiency of the items() loop (GH-19628) (cherry picked from commit 75bedbe2ed4119ff18a2ea86c544b3cf08a92e75) Co-authored-by: Raymond Hettinger --- diff --git a/Lib/pickle.py b/Lib/pickle.py index 515cb8a0bb3f..af50a9b0c06b 100644 --- a/Lib/pickle.py +++ b/Lib/pickle.py @@ -339,7 +339,7 @@ def whichmodule(obj, name): return module_name # Protect the iteration by using a list copy of sys.modules against dynamic # modules that trigger imports of other modules upon calls to getattr. - for module_name, module in list(sys.modules.items()): + for module_name, module in sys.modules.copy().items(): if module_name == '__main__' or module is None: continue try: