> + /* XXX apr_procattr_child_*_set() is creating an unnecessary
> + * pipe between this process and the child being created...
> + * It is cleaned up with the temporary pool for this request.
> + */
> ((rc = apr_procattr_child_err_set(procattr, r->server->error_log,
NULL)) != APR_SUCCESS) ||
> ((rc = apr_procattr_child_in_set(procattr, inout, NULL)) !=
APR_SUCCESS))) ||
> ((rc = apr_procattr_child_out_set(procattr, inout, NULL)) !=
>APR_SUCCESS)
||
> @@ -571,6 +574,7 @@
> "couldn't create child process: %d: %s", rc, r->filename);
> }
> }
> + apr_pool_clear(p);
I think the pool needs to be destroyed, not just cleared. Or, since this is a single
threaded process, perhaps create the pool outside of the while(1) loop then clear it as
you are doing.
Bill