Skip to content
Snippets Groups Projects
Commit 2b466db5 authored by Michael Kuron's avatar Michael Kuron :mortar_board:
Browse files

atomically write cache status file

parent 63536d22
Branches
1 merge request!243atomically write cache status file
Pipeline #31786 passed with stage
in 33 minutes and 30 seconds
......@@ -52,7 +52,7 @@ import subprocess
import textwrap
from collections import OrderedDict
from sysconfig import get_paths
from tempfile import TemporaryDirectory
from tempfile import TemporaryDirectory, NamedTemporaryFile
import numpy as np
from appdirs import user_cache_dir, user_config_dir
......@@ -221,7 +221,9 @@ def read_config():
shutil.rmtree(config['cache']['object_cache'], ignore_errors=True)
create_folder(config['cache']['object_cache'], False)
json.dump(config['compiler'], open(cache_status_file, 'w'), indent=4)
with NamedTemporaryFile('w', dir=os.path.dirname(cache_status_file), delete=False) as f:
json.dump(config['compiler'], f, indent=4)
os.replace(f.name, cache_status_file)
if config['compiler']['os'] == 'windows':
from pystencils.cpu.msvc_detection import get_environment
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment