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...