]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.7] bpo-36807: When saving a file in IDLE, call flush and fsync (GH-13102) (#13288)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Mon, 13 May 2019 16:58:42 +0000 (09:58 -0700)
committerTerry Jan Reedy <tjreedy@udel.edu>
Mon, 13 May 2019 16:58:42 +0000 (12:58 -0400)
Includes blurb fix in 85c69d5
(cherry picked from commit 4f098b35f58e911639f8e9adc393d5cf5c792e7f)

Lib/idlelib/iomenu.py
Misc/NEWS.d/next/IDLE/2019-05-05-16-27-53.bpo-13102.AGNWYJ.rst [new file with mode: 0644]

index f5bced597aa82156b5e5569e4ddc7ff24e041cc1..b9e813be0630e2c385160916d3d9630427f96fcf 100644 (file)
@@ -384,6 +384,8 @@ class IOBinding:
         try:
             with open(filename, "wb") as f:
                 f.write(chars)
+                f.flush()
+                os.fsync(f.fileno())
             return True
         except OSError as msg:
             tkMessageBox.showerror("I/O Error", str(msg),
diff --git a/Misc/NEWS.d/next/IDLE/2019-05-05-16-27-53.bpo-13102.AGNWYJ.rst b/Misc/NEWS.d/next/IDLE/2019-05-05-16-27-53.bpo-13102.AGNWYJ.rst
new file mode 100644 (file)
index 0000000..2a905bf
--- /dev/null
@@ -0,0 +1 @@
+When saving a file, call os.fsync() so bits are flushed to e.g. USB drive.