Ignore IOError exceptions when writing the message.
diff --git a/Lib/warnings.py b/Lib/warnings.py
index 383e623..a74e1ba 100644
--- a/Lib/warnings.py
+++ b/Lib/warnings.py
@@ -107,7 +107,10 @@
     """Hook to write a warning to a file; replace if you like."""
     if file is None:
         file = sys.stderr
-    file.write(formatwarning(message, category, filename, lineno))
+    try:
+        file.write(formatwarning(message, category, filename, lineno))
+    except IOError:
+        pass # the file (probably stderr) is invalid - this warning gets lost.
 
 def formatwarning(message, category, filename, lineno):
     """Function to format a warning the standard way."""