Re: Compiling problem on AIX 4.2.1 with gcc

From: Chris Wedgwood <chris@dont-contact.us>
Date: Wed, 21 Apr 1999 10:42:08 +1200

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