summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/test/test_ssl.py11
1 files changed, 8 insertions, 3 deletions
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index c69f0d8..f928bce 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -2385,9 +2385,14 @@ class ThreadedEchoServer(threading.Thread):
self.server.conn_errors.append(str(e))
if self.server.chatty:
handle_error("\n server: bad connection attempt from " + repr(self.addr) + ":\n")
- self.running = False
- self.server.stop()
- self.close()
+
+ # bpo-44229, bpo-43855, bpo-44237, and bpo-33450:
+ # Ignore spurious EPROTOTYPE returned by write() on macOS.
+ # See also http://erickt.github.io/blog/2014/11/19/adventures-in-debugging-a-potential-osx-kernel-bug/
+ if e.errno != errno.EPROTOTYPE and sys.platform != "darwin":
+ self.running = False
+ self.server.stop()
+ self.close()
return False
else:
self.server.shared_ciphers.append(self.sslconn.shared_ciphers())