aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/tools/python3/Lib/linecache.py
diff options
context:
space:
mode:
authorshadchin <shadchin@yandex-team.com>2025-02-16 15:28:01 +0300
committershadchin <shadchin@yandex-team.com>2025-02-16 16:03:50 +0300
commita27b6a96fdc5ca444428ddef4823d0486dcdccb9 (patch)
treeadde5c24d9ea37e1634e7972e27e682a820ab941 /contrib/tools/python3/Lib/linecache.py
parent7a3958c3c6de324baab9dba4bd4eb808c1b839a6 (diff)
downloadydb-a27b6a96fdc5ca444428ddef4823d0486dcdccb9.tar.gz
Update Python 3 to 3.12.9
commit_hash:c8651982d81e18f18e037fb247cc6ae53c4fa7f1
Diffstat (limited to 'contrib/tools/python3/Lib/linecache.py')
-rw-r--r--contrib/tools/python3/Lib/linecache.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/contrib/tools/python3/Lib/linecache.py b/contrib/tools/python3/Lib/linecache.py
index 05eb49d3b0..06eea3c94f 100644
--- a/contrib/tools/python3/Lib/linecache.py
+++ b/contrib/tools/python3/Lib/linecache.py
@@ -54,14 +54,17 @@ def checkcache(filename=None):
(This is not checked upon each call!)"""
if filename is None:
- filenames = list(cache.keys())
- elif filename in cache:
- filenames = [filename]
+ # get keys atomically
+ filenames = cache.copy().keys()
else:
- return
+ filenames = [filename]
for filename in filenames:
- entry = cache[filename]
+ try:
+ entry = cache[filename]
+ except KeyError:
+ continue
+
if len(entry) == 1:
# lazy cache entry, leave it lazy.
continue