Commit c6f18f6d authored by Tim Peters's avatar Tim Peters

SF bug 110843: Low FD_SETSIZE limit on Win32 (PR#41). Boosted to 512.

parent 7597ee2b
...@@ -27,6 +27,14 @@ Core language, builtins, and interpreter ...@@ -27,6 +27,14 @@ Core language, builtins, and interpreter
fit in an int. In 1.6 and earlier, a negative long formatted fit in an int. In 1.6 and earlier, a negative long formatted
via %u raised an error if it was too big to fit in an int. via %u raised an error if it was too big to fit in an int.
Windows changes
- select module: By default under Windows, a select() call
can specify no more than 64 sockets. Python now boosts
this Microsoft default to 512. If you need even more than
that, see the MS docs (you'll need to #define FD_SETSIZE
and recompile Python from source).
What's New in Python 2.0? What's New in Python 2.0?
========================= =========================
......
/* select - Module containing unix select(2) call. /* select - Module containing unix select(2) call.
Under Unix, the file descriptors are small integers. Under Unix, the file descriptors are small integers.
Under Win32, select only exists for sockets, and sockets may Under Win32, select only exists for sockets, and sockets may
...@@ -9,6 +8,16 @@ ...@@ -9,6 +8,16 @@
#include "Python.h" #include "Python.h"
/* Windows #defines FD_SETSIZE to 64 if FD_SETSIZE isn't already defined.
64 is too small (too many people have bumped into that limit).
Here we boost it.
Users who want even more than the boosted limit should #define
FD_SETSIZE higher before this; e.g., via compiler /D switch.
*/
#if defined(MS_WINDOWS) && !defined(FD_SETSIZE)
#define FD_SETSIZE 512
#endif
#ifdef HAVE_UNISTD_H #ifdef HAVE_UNISTD_H
#include <unistd.h> #include <unistd.h>
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment