>   +              /* 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

Reply via email to