From 0e08cb5f6d473ea1434cf1f8230895bad82ea15e Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Tue, 21 Apr 2020 16:20:52 -0700 Subject: [PATCH] bpo-40327: Improve atomicity, speed, and memory efficiency of the items() loop (GH-19628) (cherry picked from commit 75bedbe2ed4119ff18a2ea86c544b3cf08a92e75) Co-authored-by: Raymond Hettinger --- Lib/pickle.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Lib/pickle.py b/Lib/pickle.py index 515cb8a0bb3f1a..af50a9b0c06bb0 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: