Brian Pane <[EMAIL PROTECTED]> writes:

> Thanks!  Using b instead of ab, I was able to make the error occur
> occasionally in my test environment.  I found one bug that could
> cause the previously accepted socket to be pushed back onto the
> fdqueue if an accept failed.  The change that I just committed
> for unixd.c fixes this.  I'm no longer seeing the segfault in my
> test environment, although that's not a guarantee that the bug is
> fixed, because I was only able to catch the error occasionally
> before the change.  With the latest unixd.c code, do you still
> see the segfaults in your environment?

You're rocking my world, Brian!

I first verified that I could easily hit segfaults on Solaris
repeating the same test (i.e., I didn't screw up my config in the
meantime), THEN I updated just unixd.c and started the same test, and
now she's running like a champ (with boatloads of errors from "Too
many open files" of course).

The bug you found would be terrible even with a properly tuned
server (connection reset between the kernel waking up Apache to do
accept() and accept() inside the kernel checking the queue).

-- 
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Reply via email to