How sure is you about this?
A visual inspection of the glibc macros in both glibc-reveal nothing of
the kind. All simple byte arithmetics on the filedescriptor number..
The only thing I can see in the visual inspection is that things will
fail badly if the maxfd is not even divisible by 32, as in such case the
fd_set size will be short, possibly causing memory corruption if the
highest filedescriptors are in use, but just replacing the macros won't
solve this as the error is in the datatype definition.
Regards
Henrik
tor 2003-02-27 klockan 14.42 skrev adrian@squid-cache.org:
> adrian 2003/02/27 06:42:19 MST
>
> Modified files: (Branch: SQUID_2_5)
> src comm_select.c delay_pools.c squid.h
> Log:
> The fd_set macros are used in the delay pools code - but the seem
> to break on linux glibc on a busy cache.
>
> This patch replaces them with private copies of the macro _just_ for
> the delay pools code (and not select()!), stolen from MacOS X 10.2.4.
> The FD_SETSIZE has been replaced with SQUID_MAXFD.
>
> Bugzilla id: 555
>
> Also, run indent. This may cause larger diffs than I needed..
>
> Revision Changes Path
> 1.53.2.4 +8 -13 squid/src/comm_select.c
> 1.19.2.5 +9 -6 squid/src/delay_pools.c
> 1.216.2.4 +30 -11 squid/src/squid.h
-- Henrik Nordstrom <hno@squid-cache.org> MARA Systems AB, SwedenReceived on Thu Feb 27 2003 - 07:27:43 MST
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:19:18 MST