> Some Socket Wizard should worry about the attached. What's life like on > 64-bit Linux (etc)? Dunno, but I doubt 64-bit Linux would be so dumb as to declare FD_SETSIZE to be 2**16. > Perhaps more autoconf crap could fudge this. I think we can avoid this. > once-again-windows-shows-the-way<wink>-ly y'rs - tim Yes, in a very simple way: instead of testing for MS_WINDOWS, we could test for a preposterous value of FD_SETSIZE. For example, change all three occurrences of #ifdef MS_WINDOWS into #if FD_SETSIZE > 1024 Looking at the code, a better solution may be to always allocate this thing on the heap, and to let list2set allocate it. The actual number of items *used* is the length of the list of file descriptors + 1 (a sentinel). Even if FD_SETSIZE is not preposterous, the array size allocated is the theoretical maximum, which is always ways larger than the size needed. (I also fail to understand why 3 extra elements are allocated; the algorithm seems to need only one extra.) Yet another approach would (shrudder :) be to forget about arrays and use a Python dict, since that's the usage: the data structure stores the mapping between file descriptors (unique small ints) and objects in the argument lists (either Python ints or objects with a fileno() method). Volunteers? Not me! :) --Guido van Rossum (home page: http://www.python.org/~guido/)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4