Author: Matti Picus <matti.pi...@gmail.com>
Branch: py3.6
Changeset: r96349:c9bd74b7f75e
Date: 2019-03-25 21:05 +0200
http://bitbucket.org/pypy/pypy/changeset/c9bd74b7f75e/

Log:    override system Exxx that were added in MSVC 2010, cpython decided
        to stick with the old values

diff --git a/pypy/module/errno/interp_errno.py 
b/pypy/module/errno/interp_errno.py
--- a/pypy/module/errno/interp_errno.py
+++ b/pypy/module/errno/interp_errno.py
@@ -43,6 +43,18 @@
     "WSAGETASYNCBUFLE", "WSAEDESTADDRREQ", "WSAECONNREFUSED", "WSAENETRESET",
     "WSAN", "WSAEDQUOT"]
 
+# The following constants were added to errno.h in VS2010 but have
+# preferred WSA equivalents, so errno.EADDRINUSE == errno.WSAEADDRINUSE.
+win_errors_override = [
+    "WSAEADDRINUSE", "WSAEADDRNOTAVAI", "WSAEAFNOSUPPORT", "WSAEALREADY",
+    "WSAECONNABORTED", "WSAECONNREFUSED", "WSAECONNRESET", "WSAEDESTADDRREQ",
+    "WSAEHOSTUNREACH", "WSAEINPROGRESS", "WSAEISCONN", "WSAELOOP",
+    "WSAEMSGSIZE", "WSAENETDOWN", "WSAENETRESET", "WSAENETUNREACH",
+    "WSAENOBUFS", "WSAENOPROTOOPT", "WSAENOTCONN", "WSAENOTSOCK",
+    "WSAEOPNOTSUPP", "WSAEPROTONOSUPPORT", "WSAEPROTOTYPE", "WSAETIMEDOUT",
+    "WSAEWOULDBLOCK",
+    ]
+
 more_errors = [
     "ENOMEDIUM", "EMEDIUMTYPE", "ECANCELED", "ENOKEY", "EKEYEXPIRED",
     "EKEYREVOKED", "EKEYREJECTED", "EOWNERDEAD", "ENOTRECOVERABLE", "ERFKILL",
@@ -80,7 +92,8 @@
     assert name.startswith('WSA')
     code = config[name]
     if code is not None:
-        if name[3:] in errors and name[3:] not in name2code:
+        if name[3:] in errors and (name in win_errors_override or 
+                                   name[3:] not in name2code):
             # errno.EFOO = <WSAEFOO>
             name2code[name[3:]] = code
         # errno.WSABAR = <WSABAR>
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to