Commit 0d470faa authored by Paul Querna's avatar Paul Querna
Browse files

* Add bits to use APR_TCP_DEFER_ACCEPT

* Log Warnings when adding defer accept or an accept filter fails.


git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@111596 13f79535-47bb-0310-9956-ffa450edef68
parent 4de9ca1a
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2,6 +2,10 @@ Changes with Apache 2.1.3
  [Remove entries to the current 2.0 section below, when backported]
  *) core: Add support for APR_TCP_DEFER_ACCEPT to defer accepting
     of a connection until data is available.
     [Paul Querna]
  *) conf: Remove AddDefaultCharset from the default configuration because
     setting a site-wide default does more harm than good. PR 23421.
     [Roy Fielding]
+14 −1
Original line number Diff line number Diff line
@@ -164,7 +164,20 @@ static apr_status_t make_sock(apr_pool_t *p, ap_listen_rec *server)
#endif
#endif
#endif
    apr_socket_accept_filter(s, ACCEPT_FILTER_NAME, "");
    stat = apr_socket_accept_filter(s, ACCEPT_FILTER_NAME, "");
    if (stat != APR_SUCCESS && !APR_STATUS_IS_ENOTIMPL(stat)) {
        ap_log_perror(APLOG_MARK, APLOG_WARNING, stat, p,
                      "Failed to enable the '%s' Accept Filter",
                      ACCEPT_FILTER_NAME);
    }
#else
#ifdef APR_TCP_DEFER_ACCEPT
    stat = apr_socket_opt_set(s, APR_TCP_DEFER_ACCEPT, 1);   
    if (stat != APR_SUCCESS && !APR_STATUS_IS_ENOTIMPL(stat)) {
        ap_log_perror(APLOG_MARK, APLOG_WARNING, stat, p,
                              "Failed to enable APR_TCP_DEFER_ACCEPT");
    }
#endif
#endif

    server->sd = s;