summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBert JW Regeer <bertjw@regeer.org>2022-01-17 00:01:29 -0700
committerBert JW Regeer <bertjw@regeer.org>2022-01-17 14:25:51 -0700
commit451b7e980ef00a10e8adfcd43273ceb7db971543 (patch)
tree01a9c4b6367f0524c318b60304f21b8e999858f1
parenta1868227405062b3daec28362cbaf071d26df2f3 (diff)
downloadwaitress-451b7e980ef00a10e8adfcd43273ceb7db971543.tar.gz
Bugfix on Windows: OSError is not subscriptable
When Waitress fails to launch on Windows due to an issue with the trigger socket not being ready for connections, we attempt to loop. In the past this was done by subscripting the OSError and checking to see if it matched errno.WSAEADDRINUSE, this is no longer possible in newer verisons of Python. This is a quick bugfix for a rare case which should no longer happen on Windows.
-rw-r--r--src/waitress/trigger.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/waitress/trigger.py b/src/waitress/trigger.py
index 3b1ad46..49b2034 100644
--- a/src/waitress/trigger.py
+++ b/src/waitress/trigger.py
@@ -173,7 +173,7 @@ else: # pragma: no cover
w.connect(connect_address)
break # success
except OSError as detail:
- if detail[0] != errno.WSAEADDRINUSE:
+ if getattr(detail, "winerror", None) != errno.WSAEADDRINUSE:
# "Address already in use" is the only error
# I've seen on two WinXP Pro SP2 boxes, under
# Pythons 2.3.5 and 2.4.1.