bpo-41193: Ignore OSError in readline write_history() (GH-21279)


The write_history() atexit function of the readline completer now
ignores any OSError to ignore error if the filesystem is read-only,
instead of only ignoring FileNotFoundError and PermissionError.
(cherry picked from commit 0ab917e07ed64c6bfde6f6e791f9b28acc97b510)

Co-authored-by: Victor Stinner <vstinner@python.org>
diff --git a/Lib/site.py b/Lib/site.py
index e981a14..9e617af 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -453,9 +453,9 @@
             def write_history():
                 try:
                     readline.write_history_file(history)
-                except (FileNotFoundError, PermissionError):
-                    # home directory does not exist or is not writable
-                    # https://bugs.python.org/issue19891
+                except OSError:
+                    # bpo-19891, bpo-41193: Home directory does not exist
+                    # or is not writable, or the filesystem is read-only.
                     pass
 
             atexit.register(write_history)