On Tue, Apr 20, 1999 at 04:29:52PM -0600, Duane Wessels wrote:
> We have one example where getrlimit() returns useless information.
> On AIX 4.2.1, getrlimit() returns "infinity." I either have to add
> a special condition for AIX to not use getrlimit(), or I have to
> detect the infinity and then try one of the other techniques.
I think we _are_ going to have to use some per-OS techniques here. I
can see why trying to find one mechanism for all OS is desirable but
I don't think thats going t be a vialble solution.
> I already think that little chunk of code is too complicated,
> especially when I have to handle all the ways that it fails for
> particular systems.
>
> My goal is to make it simpler -- to find a lowest common denominator.
How about, per-OS for OS with known methods of finding these values,
otherwise your brute force mecahnism?
> It might be possible to use run-time settings for poll(), I haven't
> investigated that. We would have to make minor changes code like
> this:
>
> comm_select.c: struct pollfd pfds[SQUID_MAXFD];
I like this idea... I also think we should use poll over select when
then number of FDs is, say, over 1024. With lots of FDs, select bogs
down...
> Hm, instead of a loop, what about a binary search using dup2()
> starting at some large number like 16384.
Actually, thats a really smart idea... does it work?
-cw
Received on Tue Jul 29 2003 - 13:15:57 MDT
This archive was generated by hypermail pre-2.1.9 : Tue Dec 09 2003 - 16:12:05 MST