Jeff Trawick wrote:
At best, ap_sock_disable_nagle() is of limited use (just call apr_socket_option_set and log if it fails), and at worst it hides information (no retcode) and has no information to know when/where/what to log. So yank it.
+1
Also:
Change httpd so that a connection-oriented nagle error (typically EINVAL which means that client already dropped connection) is logged with the client IP address and a debug log level. We filter out not-implemented errors from platforms which don't support TCP_NODELAY, but it is APR's job to tell us that rather than trying to figure that out ourself.
Change httpd so that if we're disabling nagle on the listening socket (so APR won't have to disable it on connected sockets), we consider it a shooting offense if it fails.
perchild is expected to work as before after this change.
+1 all the way around. Please remove the "BillS says..." comment. Got what I was looking for with the introduction of the APR_TCP_NODELAY_INHERITED option.
Bill