scripts: fix file writing in convert-variable-renames

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

Commit Message

Scott Murray Feb. 22, 2022, 4:21 a.m. UTC
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(+)

Patch

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)