Changes with Apache 2.3.0
[ When backported to 2.2.x, remove entry from this file ]
+ *) core: Avoid some unexpected connection closes by telling the client
+ that the connection is not persistent if the MPM process handling
+ the request is already exiting when the response header is built.
+ [Jeff Trawick]
+
*) mod_serf: New module for Reverse Proxying. [Paul Querna]
*) mod_autoindex: Generate valid XHTML output by adding the xhtml
#include "util_charset.h"
#include "util_ebcdic.h"
#include "util_time.h"
+#include "ap_mpm.h"
#include "mod_core.h"
* or they're a buggy twit coming through a HTTP/1.1 proxy
* and the client is requesting an HTTP/1.0-style keep-alive
* or the client claims to be HTTP/1.1 compliant (perhaps a proxy);
+ * and this MPM process is not already exiting
* THEN we can be persistent, which requires more headers be output.
*
* Note that the condition evaluation order is extremely important.
&& (!apr_table_get(r->subprocess_env, "nokeepalive")
|| apr_table_get(r->headers_in, "Via"))
&& ((ka_sent = ap_find_token(r->pool, conn, "keep-alive"))
- || (r->proto_num >= HTTP_VERSION(1,1)))) {
+ || (r->proto_num >= HTTP_VERSION(1,1)))
+ && !ap_graceful_stop_signalled()) {
int left = r->server->keep_alive_max - r->connection->keepalives;
r->connection->keepalive = AP_CONN_KEEPALIVE;