Try to prevent this test from being flaky.  We might need a sleep in here
which isn't as bad as it sounds.  The close() *should* raise an exception,
so if it didn't we should give more time to sync and really raise it.

Will backport.
diff --git a/Lib/test/test_resource.py b/Lib/test/test_resource.py
index 3ff31bb..f7c2976 100644
--- a/Lib/test/test_resource.py
+++ b/Lib/test/test_resource.py
@@ -54,8 +54,12 @@
                         f.write("Y")
                         f.flush()
                         # On some systems (e.g., Ubuntu on hppa) the flush()
-                        # doesn't cause the exception, but the close() does.
-                        f.close()
+                        # doesn't always cause the exception, but the close()
+                        # does eventually.  Try closing several times in
+                        # an attempt to ensure the file is really synced and
+                        # the exception raised.
+                        for i in range(5):
+                            f.close()
                     except IOError:
                         if not limit_set:
                             raise