diff -rupN --no-dereference Python-3.10.9/Modules/selectmodule.c Python-3.10.9-new/Modules/selectmodule.c --- Python-3.10.9/Modules/selectmodule.c 2022-12-06 19:31:21.000000000 +0100 +++ Python-3.10.9-new/Modules/selectmodule.c 2022-12-08 09:37:02.544024932 +0100 @@ -136,9 +136,9 @@ seq2set(PyObject *seq, fd_set *set, pyli v = PyObject_AsFileDescriptor( o ); if (v == -1) goto finally; -#if defined(_MSC_VER) +#if defined(MS_WIN32) max = 0; /* not used for Win32 */ -#else /* !_MSC_VER */ +#else /* !MS_WIN32 */ if (!_PyIsSelectable_fd(v)) { PyErr_SetString(PyExc_ValueError, "filedescriptor out of range in select()"); @@ -146,7 +146,7 @@ seq2set(PyObject *seq, fd_set *set, pyli } if (v > max) max = v; -#endif /* _MSC_VER */ +#endif /* MS_WIN32 */ FD_SET(v, set); /* add object and its file descriptor to the list */ diff -rupN --no-dereference Python-3.10.9/setup.py Python-3.10.9-new/setup.py --- Python-3.10.9/setup.py 2022-12-08 09:37:02.182024924 +0100 +++ Python-3.10.9-new/setup.py 2022-12-08 09:37:02.545024933 +0100 @@ -1016,7 +1016,11 @@ class PyBuildExt(build_ext): self.missing.append('spwd') # select(2); not on ancient System V - self.add(Extension('select', ['selectmodule.c'])) + select_libs = [] + if HOST_PLATFORM.startswith(('mingw', 'win')): + select_libs += ['ws2_32'] + self.add(Extension('select', ['selectmodule.c'], + libraries=select_libs) ) # Memory-mapped files (also works on Win32). self.add(Extension('mmap', ['mmapmodule.c']))