Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 11 Apr 2001 16:18:58 -0700
From:      Alfred Perlstein <bright@wintelcom.net>
To:        Doug White <dwhite@resnet.uoregon.edu>
Cc:        Dan Phoenix <dphoenix@bravenet.com>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: lockf in apache
Message-ID:  <20010411161858.T15938@fw.wintelcom.net>
In-Reply-To: <Pine.BSF.4.33.0104111606560.46537-100000@resnet.uoregon.edu>; from dwhite@resnet.uoregon.edu on Wed, Apr 11, 2001 at 04:07:25PM -0700
References:  <20010410131254.V15938@fw.wintelcom.net> <Pine.BSF.4.33.0104111606560.46537-100000@resnet.uoregon.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
* Doug White <dwhite@resnet.uoregon.edu> [010411 16:07] wrote:
> On Tue, 10 Apr 2001, Alfred Perlstein wrote:
> 
> > Basically, when apache is listening on multiple IPs/ports it needs
> > to select() on several filedescriptors.  The problem (under FreeBSD
> > at least) is that whenever you have some process select()'ing on
> > a descriptor and another process wants to do the same you get a
> > "select collision", a collision requires that all processes waiting
> > on the same select channel wake up then reassert thier desire to
> > select.  So... if you have 500 apache processes select()'ing and
> > one wakes up to service a request, finished serving, then goes to
> > select again, all the rest (499) have to wake up and reaffirm thier
> > desire to select().
> 
> We haven't applied wakeup_one() to select() yet? (I think I've argued
> about this before.)
> 
> Someone get cracking! :)

I'm not sure it's possible without redesigning the way select works.

-- 
-Alfred Perlstein - [bright@wintelcom.net|alfred@freebsd.org]
Daemon News Magazine in your snail-mail! http://magazine.daemonnews.org/

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010411161858.T15938>