apr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@attglobal.net>
Subject Re: cvs commit: httpd-2.0/server/mpm/worker pod.c
Date Fri, 21 Mar 2003 20:36:20 GMT
William A. Rowe, Jr. wrote:
> At 01:09 PM 3/21/2003, Jeff Trawick wrote:
> 
> 
>>I'm a bit nervous about the existing/new special handling for descriptors 0-2.
> 
> 
> Are you looking at my original or new patch?

either

> I won't disagree, if you want apr_file_dup() to always return an uninherited
> handle, that isn't a problem.  Just look in the which_dup == 1 logic of my
> patch and change that block to always untoggle APR_INHERIT (and we
> should also untoggle APR_FILE_NOCLOSE for apr_file_dup() results,
> now that I think about it.)
> 
> 
>>Why isn't the problem this:
>>
>>Apache opened stderr from the wrong pool, or failed to open it again when the original
pool for stderr was cleaned up; in other words, it was cleaned up because of a pool lifetime
problem in the application, not because 0-2 inherently need to be handled in a different special
way
> 
> 
> Because we agreed that the API would support APR_FILE_NOCLOSE and
> that is how apr_file_stderr_open() works.

you mean APR_FILE_NOCLEANUP?  I'll buy that, except that I can't see the 
connection between apr_file_open_stderr() and APR_FILE_NOCLEANUP

APR_DECLARE(apr_status_t) apr_file_open_stderr(apr_file_t **thefile,
                                                apr_pool_t *pool)
{
     int fd = STDERR_FILENO;

     return apr_os_file_put(thefile, &fd, 0, pool);
}


>>(and maybe in addition: Apache should be able to tell apr_proc_detach() to leave stderr
alone if it wants fd 2 to be unchanged across the detach)
> 
> 
> Hmmm.  Interesting point, but I think that if we just respect the values
> for APR_FILE_NOCLOSE and APR_INHERIT - as my most recent patch
> suggests, that this problem should simply go away.

I suspect that it will "simply go away" in that it will "not be 
noticably broken" since we will get fd 2 pointing to the error log again 
instead of /dev/null before too many opportunities for writing to stderr 
go by.


Mime
View raw message