From 594f8019d1b20326bcd25846ab3866adca61b782 Mon Sep 17 00:00:00 2001 From: Jean-Paul Calderone Date: Wed, 18 Nov 2020 18:29:36 -0500 Subject: [PATCH] Better support Windows here --- src/allmydata/util/configutil.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/allmydata/util/configutil.py b/src/allmydata/util/configutil.py index 8063ba449..ea64e1704 100644 --- a/src/allmydata/util/configutil.py +++ b/src/allmydata/util/configutil.py @@ -20,6 +20,10 @@ from configparser import ConfigParser import attr +from twisted.python.runtime import ( + platform, +) + class UnknownConfigError(Exception): """ @@ -73,6 +77,10 @@ def write_config(tahoe_cfg, config): # with ConfigParser.write. with open(tmp.path, "wt") as fp: config.write(fp) + # Windows doesn't have atomic overwrite semantics for moveTo. Thus we end + # up slightly less than atomic. + if platform.isWindows(): + tahoe_cfg.remove() tmp.moveTo(tahoe_cfg) def validate_config(fname, cfg, valid_config):