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 ]
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);
}
}