You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by co...@apache.org on 2007/10/03 19:17:25 UTC
svn commit: r581660 - in /httpd/httpd/trunk: CHANGES
modules/filters/mod_ext_filter.c
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
Re: svn commit: r581660 - in /httpd/httpd/trunk: CHANGES modules/filters/mod_ext_filter.c
Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
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 "William A. Rowe, Jr." <wr...@rowe-clan.net>.
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
>
>
>
>