httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j..@apache.org
Subject svn commit: r1603140 - in /httpd/httpd/branches/2.4.x: ./ STATUS modules/proxy/mod_proxy_fcgi.c
Date Tue, 17 Jun 2014 12:04:23 GMT
Author: jim
Date: Tue Jun 17 12:04:23 2014
New Revision: 1603140

URL: http://svn.apache.org/r1603140
Log:
Merge r1603027, r1603029, r1603122 from trunk:

Fix bug introduced in r1591508 which resulted in the final empty
FCGI_STDIN not being sent.  Interaction with latest uWSGI (and
probably other protocol implementations) breaks without this.


Reindent after small fix in r1603027


mod_proxy_fcgi: follow up to r1592032.

Also break the outer loop when "sending stdin" fails.

Submitted by: trawick, ylavic
Reviewed/backported by: jim

Modified:
    httpd/httpd/branches/2.4.x/   (props changed)
    httpd/httpd/branches/2.4.x/STATUS
    httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_fcgi.c

Propchange: httpd/httpd/branches/2.4.x/
------------------------------------------------------------------------------
  Merged /httpd/httpd/trunk:r1603027,1603029,1603122

Modified: httpd/httpd/branches/2.4.x/STATUS
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/STATUS?rev=1603140&r1=1603139&r2=1603140&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/STATUS (original)
+++ httpd/httpd/branches/2.4.x/STATUS Tue Jun 17 12:04:23 2014
@@ -120,19 +120,6 @@ PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
      2.4.x patch:  http://people.apache.org/~jailletc36/backport8.patch
      +1: jailletc36, ylavic, jim
 
-   * mod_proxy_fcgi: Repair sending empty stdin after r1601749 (i.e., regression
-     in 2.4.x branch after 2.4.9), repair lost error condition
-     trunk: http://svn.apache.org/r1603027
-            http://svn.apache.org/r1603029
-            http://svn.apache.org/r1603122
-     2.4.x: http://people.apache.org/~trawick/r1603027_plus_r1603029_plus_r1603122.txt
-            (the patch file resolves a small intersection with r1592032)
-     +1: trawick, ylavic, jim
-     ylavic: what's the point with r1592032 (does not seem to be related, at
-     least fixing the above)?
-     trawick: the patch resolves a conflict when merging these revisions
-              if r1592032 is not yet in the 2.4.x branch
-
 
 PATCHES PROPOSED TO BACKPORT FROM TRUNK:
   [ New proposals should be added at the end of the list ]

Modified: httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_fcgi.c
URL: http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_fcgi.c?rev=1603140&r1=1603139&r2=1603140&view=diff
==============================================================================
--- httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_fcgi.c (original)
+++ httpd/httpd/branches/2.4.x/modules/proxy/mod_proxy_fcgi.c Tue Jun 17 12:04:23 2014
@@ -485,20 +485,22 @@ static apr_status_t dispatch(proxy_conn_
                 to_send -= write_this_time;
                 iobuf_cursor += write_this_time;
             }
+            if (rv != APR_SUCCESS) {
+                break;
+            }
 
             if (last_stdin) {
                 pfd.reqevents = APR_POLLIN; /* Done with input data */
 
-                if (writebuflen) { /* empty AP_FCGI_STDIN not already sent? */
-                    ap_fcgi_fill_in_header(&header, AP_FCGI_STDIN, request_id,
-                                           0, 0);
-                    ap_fcgi_header_to_array(&header, farray);
+                /* signal EOF (empty FCGI_STDIN) */
+                ap_fcgi_fill_in_header(&header, AP_FCGI_STDIN, request_id,
+                                       0, 0);
+                ap_fcgi_header_to_array(&header, farray);
 
-                    vec[0].iov_base = (void *)farray;
-                    vec[0].iov_len = sizeof(farray);
+                vec[0].iov_base = (void *)farray;
+                vec[0].iov_len = sizeof(farray);
 
-                    rv = send_data(conn, vec, 1, &len, 1);
-                }
+                rv = send_data(conn, vec, 1, &len, 1);
             }
         }
 



Mime
View raw message