On Wed, 28 Mar 2001, Bill Stoddard wrote:
>
> > Jeff Trawick <[EMAIL PROTECTED]> writes:
> >
> > > procattr->parent_{in,out,err} are the three file descriptors not
> > > getting closed...
> >
> > These are created by apr_procattr_child_{in,out,err}_set().
> >
> > apr_procattr_child_*_set() is creating a pipe between parent and
> > child, which isn't appropriate for mod_cgid since we want the new
> > child to talk to another process (the apache child which sent the
> > request to cgid).
> >
> > It is easy enough to close the cgid parent side of the pipe but what
> > is needed is a way to set the child's stdin/stdout/stderr to the
> > AF_UNIX socket without creating a pipe as a side effect.
> >
>
> Yep, the parent side pipes never being closed. Easy enough to close them thusly:
> apr_close(newproc->in);
> apr_close(newproc->out);
> apr_close(newproc->err);
>
> This is not the best solution though. Could probably make it more efficient by
>ditching
> the APR calls and doing something like this...
You can not ditch the APR calls. That's how it was written originally,
and it is why cgid and suexec didn't work at all. The APR calls are
essential to making suexec work.
Ryan
_______________________________________________________________________________
Ryan Bloom [EMAIL PROTECTED]
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------