This was required on OS X to prevent the test from deadlocking.  I'm not sure
if this is just a test problem or something deeper.  Hopefully the test will
stop hanging.
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 0bd4392..520f440 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -417,6 +417,7 @@
                     except:
                         sys.stdout.write(''.join(traceback.format_exception(*sys.exc_info())))
                         break
+                    time.sleep(0.1)
 
             def server_close(self):
                 # Again, we want this to run in a thread, so we need to override
@@ -970,7 +971,11 @@
                     raise test_support.TestFailed(
                         "Couldn't fetch data from HTTPS server")
             finally:
+                if test_support.verbose:
+                    sys.stdout.write('stopping server\n')
                 server.stop()
+                if test_support.verbose:
+                    sys.stdout.write('joining thread\n')
                 server.join()
 
         def testAsyncoreServer(self):