-*- coding: utf-8 -*-
Changes with Apache 2.5.0
- *) mod_http2: slave connections have conn_rec->aborted flag set when a stream
- has been reset by the client.
-
- *) mod_http2: merge of some 2.4.x adaptions re filters on slave connections.
- Small fixes in bucket beams when forwarding file buckets. Output handling
- on master connection uses less FLUSH and passes automatically when more
- than half of H2StreamMaxMemSize bytes have accumulated.
- Workaround for http: when forwarding partial file buckets to keep the
- output filter from closing these too early.
-
- *) mod_http2: elimination of fixed master connectin buffer for TLS
- connections. New scratch bucket handling optimized for TLS write sizes.
- File bucket data read directly into scratch buffers, avoiding one
- copy. Non-TLS connections continue to pass buckets unchanged to the core
- filters to allow sendfile() usage.
-
- *) mod_http2/mod_proxy_http2: h2_request.c is no longer shared between these
- modules. This simplifies building on platforms such as Windows, as module
- reference used in logging is now clear.
+ *) mod_http2: setting conn_rec->aborted on all slave connections still active
+ when main connection shuts down.
+ [Stefan Eissing as proposed by Michael Kaufmann]
*) mod_proxy, mod_ssl: Handle SSLProxy* directives in <Proxy> sections,
allowing per backend TLS configuration. [Yann Ylavic]
return 1;
}
+static int task_abort_connection(void *ctx, void *val)
+{
+ h2_task *task = val;
+ if (task->c) {
+ task->c->aborted = 1;
+ }
+ return 1;
+}
+
apr_status_t h2_mplx_release_and_join(h2_mplx *m, apr_thread_cond_t *wait)
{
apr_status_t status;
* and workers *should* return in a timely fashion.
*/
for (i = 0; m->workers_busy > 0; ++i) {
+ h2_ihash_iter(m->tasks, task_abort_connection, m);
+
m->join_wait = wait;
status = apr_thread_cond_timedwait(wait, m->lock, apr_time_from_sec(wait_secs));
* @macro
* Version number of the http2 module as c string
*/
-#define MOD_HTTP2_VERSION "1.5.3-DEV"
+#define MOD_HTTP2_VERSION "1.5.4-DEV"
/**
* @macro
* release. This is a 24 bit number with 8 bits for major number, 8 bits
* for minor and 8 bits for patch. Version 1.2.3 becomes 0x010203.
*/
-#define MOD_HTTP2_VERSION_NUM 0x010502
+#define MOD_HTTP2_VERSION_NUM 0x010504
#endif /* mod_h2_h2_version_h */