core_filters: restore/disable TCP_NOPUSH option after non-blocking sendfile.
CHANGES: follow up to r1669289.
Submitted by: ylavic
Reviewed/backported by: jim
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@
1670328 13f79535-47bb-0310-9956-
ffa450edef68
calls r:wsupgrade() can cause a child process crash.
[Edward Lu <Chaosed0 gmail.com>]
+ *) core_filters: restore/disable TCP_NOPUSH option after non-blocking
+ sendfile. [Yann Ylavic]
+
*) core: Initialize scoreboard's used optional functions on graceful restarts
to avoid a crash when relocation occurs. PR 57177. [Yann Ylavic]
PATCHES ACCEPTED TO BACKPORT FROM TRUNK:
[ start all new proposals below, under PATCHES PROPOSED. ]
- *) core_filters: restore/disable TCP_NOPUSH option after non-blocking
- sendfile.
- trunk patch: http://svn.apache.org/r1669289
- http://svn.apache.org/r1669292 (CHANGES entry)
- 2.4.x patch: trunk works (modulo CHANGES)
- +1: ylavic, covener, jim
PATCHES PROPOSED TO BACKPORT FROM TRUNK:
if (nvec > 0) {
(void)apr_socket_opt_set(s, APR_TCP_NOPUSH, 1);
rv = writev_nonblocking(s, vec, nvec, bb, bytes_written, c);
- nvec = 0;
if (rv != APR_SUCCESS) {
(void)apr_socket_opt_set(s, APR_TCP_NOPUSH, 0);
return rv;
rv = sendfile_nonblocking(s, bucket, bytes_written, c);
if (nvec > 0) {
(void)apr_socket_opt_set(s, APR_TCP_NOPUSH, 0);
+ nvec = 0;
}
if (rv != APR_SUCCESS) {
return rv;