[pypy-commit] pypy py3.5: fix for win32
mattip
pypy.commits at gmail.com
Mon Dec 25 15:03:13 EST 2017
Author: Matti Picus <matti.picus at gmail.com>
Branch: py3.5
Changeset: r93561:85e44c9458db
Date: 2017-12-25 22:02 +0200
http://bitbucket.org/pypy/pypy/changeset/85e44c9458db/
Log: fix for win32
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
@@ -1,6 +1,7 @@
from rpython.rlib.objectmodel import not_rpython
from rpython.rtyper.tool.rffi_platform import DefinedConstantInteger, configure
from rpython.translator.tool.cbuild import ExternalCompilationInfo
+import sys
# from CPython 3.5
errors = [
@@ -40,7 +41,7 @@
"WSAEREMOTE", "WSAEINVAL", "WSAEINPROGRESS", "WSAGETSELECTEVEN",
"WSAESOCKTNOSUPPORT", "WSAGETASYNCERRO", "WSAMAKESELECTREPL",
"WSAGETASYNCBUFLE", "WSAEDESTADDRREQ", "WSAECONNREFUSED", "WSAENETRESET",
- "WSAN",]
+ "WSAN", "WSAEDQUOT"]
more_errors = [
"ENOMEDIUM", "EMEDIUMTYPE", "ECANCELED", "ENOKEY", "EKEYEXPIRED",
@@ -55,10 +56,12 @@
"EFTYPE", "ENEEDAUTH", "ENOATTR", "ENOPOLICY", "EPROCLIM", "EPROCUNAVAIL",
"EPROGMISMATCH", "EPROGUNAVAIL", "EPWROFF", "ERPCMISMATCH", "ESHLIBVERS"]
-
+includes = ['errno.h']
+if sys.platform == 'win32':
+ includes.append('winsock2.h')
class CConfig:
- _compilation_info_ = ExternalCompilationInfo(includes=['errno.h'])
+ _compilation_info_ = ExternalCompilationInfo(includes=includes)
for err_name in errors + win_errors + more_errors:
setattr(CConfig, err_name, DefinedConstantInteger(err_name))
@@ -77,7 +80,7 @@
assert name.startswith('WSA')
code = config[name]
if code is not None:
- if name[3:] in errors:
+ if name[3:] in errors and name[3:] not in name2code:
# errno.EFOO = <WSAEFOO>
name2code[name[3:]] = code
# errno.WSABAR = <WSABAR>
More information about the pypy-commit
mailing list