Having spent a long time looking at the FreeBSD problem, it finally came
down to stderr being closed and the fd number being resused and causing the
kernel to loop.
It looks like the problem was that we close the sockets when we clean up the
pconf pool, which is bad. Using the plog pool doesn't result in the same
problem as we open the log files just after the pool clear, thus keeping
stderr pointing at something.
Is there any reason why we can't use plog in core.c, as in this patch?
david
Index: core.c
===================================================================
RCS file: /home/cvs/httpd-2.0/server/core.c,v
retrieving revision 1.126
diff -u -r1.126 core.c
--- core.c 2 Jan 2002 07:56:25 -0000 1.126
+++ core.c 8 Jan 2002 10:21:48 -0000
@@ -3361,7 +3361,7 @@
static int core_open_logs(apr_pool_t *pconf, apr_pool_t *plog, apr_pool_t
*ptemp, server_rec *s)
{
- ap_open_logs(s, pconf);
+ ap_open_logs(s, plog);
return OK;
}