You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@apr.apache.org by "William A. Rowe, Jr." <wr...@rowe-clan.net> on 2007/10/03 19:23:13 UTC

Re: svn commit: r581660 - in /httpd/httpd/trunk: CHANGES modules/filters/mod_ext_filter.c

AIUI this is the desired default behavior from apr; why change httpd
at all?  I was receptive to your suggestion/patch to resolve this as
the default on apr 0.9/1.2/1.x branches, per the unix implementation.

Bill

covener@apache.org wrote:
> Author: covener
> Date: Wed Oct  3 10:17:24 2007
> New Revision: 581660
> 
> URL: http://svn.apache.org/viewvc?rev=581660&view=rev
> Log:
> mod_ext_filter: Prevent a  hang on Windows when the filter
> input data is pipelined 
> PR 29901 
> 
> 
> Modified:
>     httpd/httpd/trunk/CHANGES
>     httpd/httpd/trunk/modules/filters/mod_ext_filter.c
> 
> Modified: httpd/httpd/trunk/CHANGES
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=581660&r1=581659&r2=581660&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/CHANGES [utf-8] (original)
> +++ httpd/httpd/trunk/CHANGES [utf-8] Wed Oct  3 10:17:24 2007
> @@ -2,6 +2,10 @@
>  Changes with Apache 2.3.0
>  [ When backported to 2.2.x, remove entry from this file ]
>  
> +  *) mod_ext_filter: Prevent a hang on Windows when the filter
> +     input data is pipelined. 
> +     PR 29901 [Eric Covener]
> +
>    *) mod_deflate: Don't leave a strong ETag in place while transforming
>       the entity.
>       PR 39727 [Nick Kew]
> 
> Modified: httpd/httpd/trunk/modules/filters/mod_ext_filter.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/filters/mod_ext_filter.c?rev=581660&r1=581659&r2=581660&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/filters/mod_ext_filter.c (original)
> +++ httpd/httpd/trunk/modules/filters/mod_ext_filter.c Wed Oct  3 10:17:24 2007
> @@ -485,6 +485,14 @@
>          return rc;
>      }
>  
> +    rc = apr_file_pipe_timeout_set(ctx->proc->out, 0);
> +    if (rc != APR_SUCCESS) {
> +        ap_log_rerror(APLOG_MARK, APLOG_ERR, rc, f->r,
> +                      "couldn't set child stdin pipe timeout to 0 for filter %s ",
> +                      ctx->filter->name);
> +        return rc;
> +    }
> +
>      apr_pool_note_subprocess(ctx->p, ctx->proc, APR_KILL_AFTER_TIMEOUT);
>  
>      /* We don't want the handle to the child's stdin inherited by any
> 
> 
> 
> 


Re: svn commit: r581660 - in /httpd/httpd/trunk: CHANGES modules/filters/mod_ext_filter.c

Posted by Eric Covener <co...@gmail.com>.
On 10/3/07, William A. Rowe, Jr. <wr...@rowe-clan.net> wrote:
> AIUI this is the desired default behavior from apr; why change httpd
> at all?  I was receptive to your suggestion/patch to resolve this as
> the default on apr 0.9/1.2/1.x branches, per the unix implementation.

I think I misunderstood  your +1 (below) as an endorsement for the
HTTPD fix (my wording in the final sentence was poor)


On 10/2/07, William A. Rowe, Jr. <wr...@rowe-clan.net> wrote:
> Eric Covener wrote:
> >>
> >> While the API might be a little ambiguous, and the caller can
> >> explicitly set the timeout, is this a discrepancy APR should
> >> eliminate?
> >
> > I'm going to add the apr_file_pipe_timeout_set(foo, 0) call instead to
> > mod_ext_filter unless there are any objections.
>
> +1
>


-- 
Eric Covener
covener@gmail.com

Re: svn commit: r581660 - in /httpd/httpd/trunk: CHANGES modules/filters/mod_ext_filter.c

Posted by Eric Covener <co...@gmail.com>.
On 10/3/07, William A. Rowe, Jr. <wr...@rowe-clan.net> wrote:
> AIUI this is the desired default behavior from apr; why change httpd
> at all?  I was receptive to your suggestion/patch to resolve this as
> the default on apr 0.9/1.2/1.x branches, per the unix implementation.

I think I misunderstood  your +1 (below) as an endorsement for the
HTTPD fix (my wording in the final sentence was poor)


On 10/2/07, William A. Rowe, Jr. <wr...@rowe-clan.net> wrote:
> Eric Covener wrote:
> >>
> >> While the API might be a little ambiguous, and the caller can
> >> explicitly set the timeout, is this a discrepancy APR should
> >> eliminate?
> >
> > I'm going to add the apr_file_pipe_timeout_set(foo, 0) call instead to
> > mod_ext_filter unless there are any objections.
>
> +1
>


-- 
Eric Covener
covener@gmail.com