Ticket #5373 defect closed fixed
Make iocp 64-bit clean
|Reported by:||antoine||Owned by:||jesstess|
(diff, github, buildbot, log)
iocpsupport is in many places 64-bit unclean. This is due to mismatching declarations. First, HANDLE, SOCKET and ULONG_PTR are really pointer-sized, not int- or long- sized. Second, Cython always defines PY_SSIZE_T_CLEAN, which means functions such as PyObject_AsReadBuffer take a "Py_ssize_t *" parameter, not an "int *". Here is a patch. I've verified that it compiles fine under 64-bit Windows (it reduces the number of compiler warnings a lot), and twisted.internet.test passes fine with "-r iocp".