Message ID | 20220222042138.1294078-1-scott.murray@konsulko.com |
---|---|
State | Accepted, archived |
Commit | 187ac1ea0a701a5ba9ec92f6aa32f2a67600a584 |
Headers | show |
Series | scripts: fix file writing in convert-variable-renames | expand |
diff --git a/scripts/contrib/convert-variable-renames.py b/scripts/contrib/convert-variable-renames.py index fca59ca9e1..ed012610db 100755 --- a/scripts/contrib/convert-variable-renames.py +++ b/scripts/contrib/convert-variable-renames.py @@ -84,6 +84,7 @@ def processfile(fn): if re.search(check_word, line, re.IGNORECASE): print("%s needs further work at line %s since it contains %s"% (fn, lineno, check_word)) new_file.write(line) + new_file.close() if modified: print("*** Modified file '%s'" % (fn)) shutil.copymode(fn, abs_path)
In my test environments (Fedora 35 and Debian 10.10 on AMD 2970WX), running the convert-variable-renames.py rename script was resulting in empty files instead of updated ones. From inspection, the new files are never flushed/closed before moving them into place, which seems inherently racy. Adding an explicit close to flush the modified contents out before moving into place fixes the issue for me. Signed-off-by: Scott Murray <scott.murray@konsulko.com> --- scripts/contrib/convert-variable-renames.py | 1 + 1 file changed, 1 insertion(+)