[Tim] >> I suggest skipping the new crud conditionalized on a symbol like >> >> Py_SOCKET_FD_CAN_BE_GE_FD_SETSIZE
[Martin] > Hmm... How about this patch: I don't know. Of course it misses similar new tests added to _ssl.c (see the msg that started this thread), so it spreads beyond just this. Does it do the right thing for Windows variants like Cygwin, and OS/2? Don't know. If the initial #ifdef MS_WINDOWS here gets duplicated in multiple modules (and looks like it must -- or IS_SELECTABLE should be given a _Py name and defined once in pyport.h instead), and gets hairier over time, then I'd rather have a name like the one I suggested (to describe the _intent_ rather than paste together a growing collection of "which platform do I think I'm being compiled on?" names). > Index: Modules/socketmodule.c > =================================================================== > --- Modules/socketmodule.c (Revision 42308) > +++ Modules/socketmodule.c (Arbeitskopie) > @@ -396,7 +396,14 @@ > static PyTypeObject sock_type; > > /* Can we call select() with this socket without a buffer overrun? */ > +#ifdef MS_WINDOWS > +/* Everything is selectable on Windows */ > +#define IS_SELECTABLE(s) 1 > +#else > +/* POSIX says selecting descriptors above FD_SETSIZE is undefined > + behaviour. */ > #define IS_SELECTABLE(s) ((s)->sock_fd < FD_SETSIZE) > +#endif > > static PyObject* > select_error(void) _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com