summaryrefslogtreecommitdiff
path: root/Lib/linecache.py
diff options
context:
space:
mode:
authorAndrew Kuchling <amk@amk.ca>2020-05-29 07:59:44 -0400
committerGitHub <noreply@github.com>2020-05-29 04:59:44 -0700
commitb86636bff4b29ce23c886df079715dd951f13a07 (patch)
treee426c0cda47ec2a9cd568ce367950fae5cf163b8 /Lib/linecache.py
parent6381ee077d3c69d2f947f7bf87d8ec76e0caf189 (diff)
downloadcpython-git-b86636bff4b29ce23c886df079715dd951f13a07.tar.gz
[3.8] bpo-25872: Fix KeyError in linecache when multithreaded (GH-18007) (GH-20092)
Backporting to 3.8 and adding a NEWS item (I should have added one to the master branch -- oh well).
Diffstat (limited to 'Lib/linecache.py')
-rw-r--r--Lib/linecache.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/Lib/linecache.py b/Lib/linecache.py
index 3afcce1f0a..c87e1807bf 100644
--- a/Lib/linecache.py
+++ b/Lib/linecache.py
@@ -73,10 +73,10 @@ def checkcache(filename=None):
try:
stat = os.stat(fullname)
except OSError:
- del cache[filename]
+ cache.pop(filename, None)
continue
if size != stat.st_size or mtime != stat.st_mtime:
- del cache[filename]
+ cache.pop(filename, None)
def updatecache(filename, module_globals=None):
@@ -86,7 +86,7 @@ def updatecache(filename, module_globals=None):
if filename in cache:
if len(cache[filename]) != 1:
- del cache[filename]
+ cache.pop(filename, None)
if not filename or (filename.startswith('<') and filename.endswith('>')):
return []