*BSD News Article 67600


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.cs.su.oz.au!metro!metro!munnari.OZ.AU!news.ecn.uoknor.edu!paladin.american.edu!gatech!news.mathworks.com!solaris.cc.vt.edu!news.seanet.com!usenet
From: kostya@osd.com
Newsgroups: comp.unix.bsd.bsdi.misc
Subject: Re: how to increase the number of sockets per process?
Date: 3 May 1996 22:24:29 GMT
Organization: Seanet Online Services, Seattle WA
Lines: 30
Message-ID: <4me12t$jpv@kaleka.seanet.com>
References: <4mc5qp$kgt@doctor.nl2k.edmonton.ab.ca>
Reply-To: kostya@osd.com
NNTP-Posting-Host: ukbar.osd.com

In article <4mc5qp$kgt@doctor.nl2k.edmonton.ab.ca> doctor@nl2k.edmonton.AB.ca  
(The Doctor) writes:
{snip}
>>
>>It is apache 1.0.3 from ftp.apache.org.
>
>1.05 is out and ftp.bsdi.com has a copy of my version in ftp://ftp.bsdi.com/
>contrib/infosystems.  Grab that and see if that works.  Adjust httpd.h
>to fit your server.
>---
>God, Queen and Country                Member - Liberal International
>NEVER Satan, President and Republic   Board Member - Edmonton Heritage  
Nazarene
>Hating Bachelor's Living;  Doctor Who returns: 13 May at BAFTA for DWAS, 14  
May on Fox for NA, 27 May on BBC1 - check rec.arts.drwho for local gatherings
>http://doctor.nl2k.edmonton.ab.ca/~doctor  British Columbia, beware of Van Der  
Zalm Reform and Harcourt/Clark NDP on 28 May VOTE Liberal!!


I installed apache 1.0.5 with a patch that BSDI sent me. But the problem seems  
to be not with apache itself but with "select" system call which can't handle  
mode than 256 file descriptors in fd_set. And since apache opens 2 files for  
every virtual host this number goes over 256 when you have over 124 virtual  
hosts (or so). When logging transaction apache calls gethostbyaddr to get a  
host name of the remote host. Gethostbyaddr creates a socket and calls select  
to wait for an answer. And since that socket file descriptor is larger than 256  
select returns an error "Invalid argument". 
--
Konstantin Martynenko
Seanet Corporation