summaryrefslogtreecommitdiff
path: root/src/virtualenv/app_data/via_disk_folder.py
diff options
context:
space:
mode:
authorFrost Ming <mianghong@gmail.com>2020-09-19 05:27:20 +0800
committerGitHub <noreply@github.com>2020-09-18 22:27:20 +0100
commitaed87acfda69272e2248b0e7bdbe6bf1833f7230 (patch)
tree0001034d35ef6727bab722ff3650f26d84975c34 /src/virtualenv/app_data/via_disk_folder.py
parent13c0498a47acf8a0aad6db9ceb1033dfe5f119a9 (diff)
downloadvirtualenv-master.tar.gz
Fix read and write racing on multiple processes. (#1941)master
Signed-off-by: Bernat Gabor <bgabor8@bloomberg.net>
Diffstat (limited to 'src/virtualenv/app_data/via_disk_folder.py')
-rw-r--r--src/virtualenv/app_data/via_disk_folder.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/virtualenv/app_data/via_disk_folder.py b/src/virtualenv/app_data/via_disk_folder.py
index 4b2cadf..55497e8 100644
--- a/src/virtualenv/app_data/via_disk_folder.py
+++ b/src/virtualenv/app_data/via_disk_folder.py
@@ -137,7 +137,10 @@ class JSONStoreDisk(ContentStore):
except Exception: # noqa
pass
if bad_format:
- self.remove()
+ try:
+ self.remove()
+ except OSError: # reading and writing on the same file may cause race on multiple processes
+ pass
return None
def remove(self):