On 10 Dec 2007, at 17:49, Tom Rons wrote:
> Now it reports 2048 for currrent and max and guess what, ircd runs...
> How peculiar that you first have to raise the FD limit manually to fix
> the max limit, at least to me it seems. :)

OK, last run. I have tried everything again from scratch with the new  
limits and found one caveat still:

gcc -g -O2 -I. -I.. -I../include  -c engine_select.c -o engine_select.o
engine_select.c:58:3: error: #error FD_SETSIZE is too small or  
MAXCONNECTIONS too large.
engine_select.c: In function 'engine_loop':
engine_select.c:319: warning: passing argument 5 of 'getsockopt' from  
incompatible pointer type
make[1]: *** [engine_select.o] Error 1

The warning at line 319 persists, I don't know if this is anything  
important... To fix the error, I commented out the ifdefs in  
engine_select.c:

/* On BSD, define FD_SETSIZE to what we want before including sys/ 
types.h */
/* #if  defined(__FreeBSD__) || defined(__NetBSD__) ||  
defined(__bsdi__) */
/* # if !defined(FD_SETSIZE) */

#  define FD_SETSIZE ((MAXCONNECTIONS)+4)

/* # endif */
/* #endif */

Once FD_SETSIZE is treated as if we were running on BSD, everything  
works first time around. Where exactly do I go about adding an OS  
definition for Darwin such as the ifdef "__bsdi__" for instance, to  
make this change permanent?
I have tried the searched through the source but can't immediately  
seem to find where these settings are enabled.

Best regards,

Tom


_______________________________________________
Coder-com mailing list
Coder-com@undernet.org
http://undernet.sbg.org/mailman/listinfo/coder-com

Reply via email to