You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by jf...@apache.org on 2007/03/16 12:26:34 UTC

svn commit: r518938 - /httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c

Author: jfclere
Date: Fri Mar 16 04:26:33 2007
New Revision: 518938

URL: http://svn.apache.org/viewvc?view=rev&rev=518938
Log:
Make sure that we are not resending if we have received something from Tomcat.

Modified:
    httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c

Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c?view=diff&rev=518938&r1=518937&r2=518938
==============================================================================
--- httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c (original)
+++ httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c Fri Mar 16 04:26:33 2007
@@ -283,6 +283,7 @@
                             ap_log_error(APLOG_MARK, APLOG_DEBUG, status,
                                          r->server,
                                          "ap_get_brigade failed");
+                            isok = 0;
                             break;
                         }
                         bufsiz = maxsize;
@@ -293,6 +294,7 @@
                             ap_log_error(APLOG_MARK, APLOG_DEBUG, status,
                                          r->server,
                                          "apr_brigade_flatten failed");
+                            isok = 0;
                             break;
                         }
                     }
@@ -303,6 +305,7 @@
                     if (status != APR_SUCCESS) {
                         ap_log_error(APLOG_MARK, APLOG_DEBUG, status, r->server,
                                      "ajp_send_data_msg failed");
+                        isok = 0;
                         break;
                     }
                     conn->worker->s->transferred += bufsiz;
@@ -370,7 +373,7 @@
                 if (ap_pass_brigade(r->output_filters,
                                     output_brigade) != APR_SUCCESS) {
                     ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
-                                  "proxy: error processing body");
+                                  "proxy: error processing end");
                     isok = 0;
                 }
                 /* XXX: what about flush here? See mod_jk */
@@ -418,11 +421,11 @@
      */
     apr_brigade_cleanup(output_brigade);
 
-    if (status != APR_SUCCESS) {
+    if (! isok) {
         /* We had a failure: Close connection to backend */
         conn->close++;
         ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server,
-                     "proxy: send body failed to %pI (%s)",
+                     "proxy: dialog to %pI (%s) failed",
                      conn->worker->cp->addr,
                      conn->worker->hostname);
         /*



Re: svn commit: r518938 - /httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c

Posted by Jeff Trawick <tr...@gmail.com>.
On 3/22/07, Jean-Frederic <jf...@gmail.com> wrote:
> I have ported it to httpd-2.2.x should I commit it?

propose in 2.2.x/STATUS; await approval

Re: svn commit: r518938 - /httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c

Posted by Jean-Frederic <jf...@gmail.com>.
I have ported it to httpd-2.2.x should I commit it?

Cheers

Jean-Frederic

On Fri, 2007-03-16 at 11:26 +0000, jfclere@apache.org wrote:
> Author: jfclere
> Date: Fri Mar 16 04:26:33 2007
> New Revision: 518938
> 
> URL: http://svn.apache.org/viewvc?view=rev&rev=518938
> Log:
> Make sure that we are not resending if we have received something from Tomcat.
> 
> Modified:
>     httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c
> 
> Modified: httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c?view=diff&rev=518938&r1=518937&r2=518938
> ==============================================================================
> --- httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c (original)
> +++ httpd/httpd/trunk/modules/proxy/mod_proxy_ajp.c Fri Mar 16 04:26:33 2007
> @@ -283,6 +283,7 @@
>                              ap_log_error(APLOG_MARK, APLOG_DEBUG, status,
>                                           r->server,
>                                           "ap_get_brigade failed");
> +                            isok = 0;
>                              break;
>                          }
>                          bufsiz = maxsize;
> @@ -293,6 +294,7 @@
>                              ap_log_error(APLOG_MARK, APLOG_DEBUG, status,
>                                           r->server,
>                                           "apr_brigade_flatten failed");
> +                            isok = 0;
>                              break;
>                          }
>                      }
> @@ -303,6 +305,7 @@
>                      if (status != APR_SUCCESS) {
>                          ap_log_error(APLOG_MARK, APLOG_DEBUG, status, r->server,
>                                       "ajp_send_data_msg failed");
> +                        isok = 0;
>                          break;
>                      }
>                      conn->worker->s->transferred += bufsiz;
> @@ -370,7 +373,7 @@
>                  if (ap_pass_brigade(r->output_filters,
>                                      output_brigade) != APR_SUCCESS) {
>                      ap_log_rerror(APLOG_MARK, APLOG_ERR, 0, r,
> -                                  "proxy: error processing body");
> +                                  "proxy: error processing end");
>                      isok = 0;
>                  }
>                  /* XXX: what about flush here? See mod_jk */
> @@ -418,11 +421,11 @@
>       */
>      apr_brigade_cleanup(output_brigade);
>  
> -    if (status != APR_SUCCESS) {
> +    if (! isok) {
>          /* We had a failure: Close connection to backend */
>          conn->close++;
>          ap_log_error(APLOG_MARK, APLOG_ERR, status, r->server,
> -                     "proxy: send body failed to %pI (%s)",
> +                     "proxy: dialog to %pI (%s) failed",
>                       conn->worker->cp->addr,
>                       conn->worker->hostname);
>          /*
> 
>