]> git.ipfire.org Git - thirdparty/apache/httpd.git/commit
core: Disable TCP_NOPUSH optimization on OSX. BZ 66019.
authorYann Ylavic <ylavic@apache.org>
Tue, 24 May 2022 09:03:30 +0000 (09:03 +0000)
committerYann Ylavic <ylavic@apache.org>
Tue, 24 May 2022 09:03:30 +0000 (09:03 +0000)
commitc2cbd5f50fbb39aa21c61fe97ebf64ea6adeb7c1
treef7c04ecf4f0a4d84faad55ec85aa7acf3223de78
parent16876fb39a66b911ca07f148e4cab194ac225e78
core: Disable TCP_NOPUSH optimization on OSX. BZ 66019.

OSX supports TCP_NOPUSH but does not release the data retained (in TCP stack)
when the option is unset. It seems that unsetting it before the last write
does not help either so just disable the optimization for OSX in the core
output filter to avoid uncontrollable transmission delays.

* server/core_filters.c():
  Add the sock_nopush() helper that does nothing on OSX and platforms not
  supporting TCP_NOPUSH or TCP_CORK.

* server/core_filters.c(send_brigade_nonblocking):
  Use sock_nopush() instead of apr_socket_opt_set() for APR_TCP_NOPUSH option.

Merge r1900100 from trunk.

Submitted by: ylavic
Reviewed by: ylavic, rpluem, jorton

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x@1901201 13f79535-47bb-0310-9956-ffa450edef68
CHANGES
server/core_filters.c