From: <no...@so...> - 2001-12-07 15:31:45
|
Bugs item #488972, was opened at 2001-12-04 09:31 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=110894&aid=488972&group_id=10894 Category: 24. Channel System Group: 8.3.4 Status: Open Resolution: None Priority: 5 Submitted By: Guy Maor (guymaor) >Assigned to: Andreas Kupries (andreas_kupries) Summary: 64 bit bug in tclUnixNotfy.c Initial Comment: The code which builds up the fd_set's for select() isn't 64 bit safe. (long is 64 bits, and int is 32 bits) If you have a fd >= 32, the wrong bit gets set. I've attached a suggested patch. ---------------------------------------------------------------------- >Comment By: Donal K. Fellows (dkf) Date: 2001-12-07 07:31 Message: Logged In: YES user_id=79902 fd_mask is not reliably available on Solaris (i.e. in strict XPG4.2 mode it's not there.) Instead, we should be using an array of 'fd_set's, each of which is large enough on all (Solaris) platforms, and FD_SET, FD_CLEAR, FD_ISSET and FD_ZERO are macros that should be used to manipulate instances of fd_sets. fds_mask *is* always defined, BTW, but isn't necessarily as portable. None of this means anything for anywhere except Solaris (but the Linux box I have convenient access to doesn't provide fds_mask, and provides fd_mask, fd_set, and FD_* access macros.) ---------------------------------------------------------------------- Comment By: Andreas Kupries (andreas_kupries) Date: 2001-12-06 13:00 Message: Logged In: YES user_id=75003 Donal, please check this against your 64bit branch if that truly fixes problems for 64 bit machines. Is "fd_mask" a type on which existence we can rely on ? ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=110894&aid=488972&group_id=10894 |