Subject: | tk doesn't support more than 32 fd's on 64 bit machines |
(Original report by Marc Lehmann as RT#40688)
On 64 bit machines (where fd_mask is 64 bit), file descriptors above 31
don't
work anymore, in practise resiricting tk to 32 fds.
The reason is that tcl hardcodes the type of fd_maks to "int" inside
tclUnixChan.c, which is only 32 bit's, which is why fd's above 31 fail.
The correct type to store fd_masks is either fd_mask itself, or unsigned
long (not int).
The same bug seems to be in tclUnixNotfy.c and other files using select.