Loading CHANGES +2 −1 Changes for CHANGES: 2 added lines, 1 removed line. Original line number Diff line number Diff line -*- coding: utf-8 -*- Changes with Apache 2.5.1 *) mod_http2: enable re-use of slave connections again. [Stefan Eissing] *) mod_http2: enable re-use of slave connections again. Fixed slave connection keepalives counter. [Stefan Eissing] *) mod_proxy_wstunnel: Fix websocket proxy over UDS. PR 62932 <pavel dcmsys.com> Loading modules/http2/h2_conn.c +8 −6 Changes for modules/http2/h2_conn.c: 8 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -316,6 +316,7 @@ conn_rec *h2_slave_create(conn_rec *master, int slave_id, apr_pool_t *parent) c->notes = apr_table_make(pool, 5); c->input_filters = NULL; c->output_filters = NULL; c->keepalives = 0; #if AP_MODULE_MAGIC_AT_LEAST(20180903, 1) c->filter_conn_ctx = NULL; #endif Loading Loading @@ -348,16 +349,15 @@ conn_rec *h2_slave_create(conn_rec *master, int slave_id, apr_pool_t *parent) ap_set_module_config(c->conn_config, mpm, cfg); } ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, c, "h2_stream(%ld-%d): created slave", master->id, slave_id); ap_log_cerror(APLOG_MARK, APLOG_TRACE3, 0, c, "h2_slave(%s): created", c->log_id); return c; } void h2_slave_destroy(conn_rec *slave) { ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, slave, "h2_stream(%s): destroy slave", apr_table_get(slave->notes, H2_TASK_ID_NOTE)); ap_log_cerror(APLOG_MARK, APLOG_TRACE3, 0, slave, "h2_slave(%s): destroy", slave->log_id); slave->sbh = NULL; apr_pool_destroy(slave->pool); } Loading @@ -370,7 +370,6 @@ apr_status_t h2_slave_run_pre_connection(conn_rec *slave, apr_socket_t *csd) * (Not necessarily in pre_connection, but later. Set it here, so it * is in place.) */ slave->keepalives = 1; } /* We signal that this connection will be closed after the request. * Which is true in that sense that we throw away all traffic data * on this slave connection after each requests. Although we might Loading @@ -382,4 +381,7 @@ apr_status_t h2_slave_run_pre_connection(conn_rec *slave, apr_socket_t *csd) slave->keepalive = AP_CONN_CLOSE; return ap_run_pre_connection(slave, csd); } ap_assert(slave->output_filters); return APR_SUCCESS; } modules/http2/h2_mplx.c +5 −0 Changes for modules/http2/h2_mplx.c: 5 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -438,6 +438,8 @@ void h2_mplx_release_and_join(h2_mplx *m, apr_thread_cond_t *wait) apr_status_t status; int i, wait_secs = 60; ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, m->c, "h2_mplx(%ld): start release", m->id); /* How to shut down a h2 connection: * 0. abort and tell the workers that no more tasks will come from us */ m->aborted = 1; Loading Loading @@ -978,6 +980,9 @@ static apr_status_t unschedule_slow_tasks(h2_mplx *m) */ n = (m->tasks_active - m->limit_active - (int)h2_ihash_count(m->sredo)); while (n > 0 && (stream = get_latest_repeatable_unsubmitted_stream(m))) { ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, m->c, "h2_mplx(%s): unschedule, resetting task for redo later", stream->task->id); h2_task_rst(stream->task, H2_ERR_CANCEL); h2_ihash_add(m->sredo, stream); --n; Loading modules/http2/h2_task.c +1 −1 Changes for modules/http2/h2_task.c: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -504,7 +504,7 @@ static int h2_task_pre_conn(conn_rec* c, void *arg) (void)arg; if (h2_ctx_is_task(ctx)) { ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, c, "h2_h2, pre_connection, found stream task"); "h2_slave(%s), pre_connection, adding filters", c->log_id); ap_add_input_filter("H2_SLAVE_IN", NULL, NULL, c); ap_add_output_filter("H2_PARSE_H1", NULL, NULL, c); ap_add_output_filter("H2_SLAVE_OUT", NULL, NULL, c); Loading Loading
CHANGES +2 −1 Changes for CHANGES: 2 added lines, 1 removed line. Original line number Diff line number Diff line -*- coding: utf-8 -*- Changes with Apache 2.5.1 *) mod_http2: enable re-use of slave connections again. [Stefan Eissing] *) mod_http2: enable re-use of slave connections again. Fixed slave connection keepalives counter. [Stefan Eissing] *) mod_proxy_wstunnel: Fix websocket proxy over UDS. PR 62932 <pavel dcmsys.com> Loading
modules/http2/h2_conn.c +8 −6 Changes for modules/http2/h2_conn.c: 8 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -316,6 +316,7 @@ conn_rec *h2_slave_create(conn_rec *master, int slave_id, apr_pool_t *parent) c->notes = apr_table_make(pool, 5); c->input_filters = NULL; c->output_filters = NULL; c->keepalives = 0; #if AP_MODULE_MAGIC_AT_LEAST(20180903, 1) c->filter_conn_ctx = NULL; #endif Loading Loading @@ -348,16 +349,15 @@ conn_rec *h2_slave_create(conn_rec *master, int slave_id, apr_pool_t *parent) ap_set_module_config(c->conn_config, mpm, cfg); } ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, c, "h2_stream(%ld-%d): created slave", master->id, slave_id); ap_log_cerror(APLOG_MARK, APLOG_TRACE3, 0, c, "h2_slave(%s): created", c->log_id); return c; } void h2_slave_destroy(conn_rec *slave) { ap_log_cerror(APLOG_MARK, APLOG_TRACE1, 0, slave, "h2_stream(%s): destroy slave", apr_table_get(slave->notes, H2_TASK_ID_NOTE)); ap_log_cerror(APLOG_MARK, APLOG_TRACE3, 0, slave, "h2_slave(%s): destroy", slave->log_id); slave->sbh = NULL; apr_pool_destroy(slave->pool); } Loading @@ -370,7 +370,6 @@ apr_status_t h2_slave_run_pre_connection(conn_rec *slave, apr_socket_t *csd) * (Not necessarily in pre_connection, but later. Set it here, so it * is in place.) */ slave->keepalives = 1; } /* We signal that this connection will be closed after the request. * Which is true in that sense that we throw away all traffic data * on this slave connection after each requests. Although we might Loading @@ -382,4 +381,7 @@ apr_status_t h2_slave_run_pre_connection(conn_rec *slave, apr_socket_t *csd) slave->keepalive = AP_CONN_CLOSE; return ap_run_pre_connection(slave, csd); } ap_assert(slave->output_filters); return APR_SUCCESS; }
modules/http2/h2_mplx.c +5 −0 Changes for modules/http2/h2_mplx.c: 5 added lines, 0 removed lines. Original line number Diff line number Diff line Loading @@ -438,6 +438,8 @@ void h2_mplx_release_and_join(h2_mplx *m, apr_thread_cond_t *wait) apr_status_t status; int i, wait_secs = 60; ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, m->c, "h2_mplx(%ld): start release", m->id); /* How to shut down a h2 connection: * 0. abort and tell the workers that no more tasks will come from us */ m->aborted = 1; Loading Loading @@ -978,6 +980,9 @@ static apr_status_t unschedule_slow_tasks(h2_mplx *m) */ n = (m->tasks_active - m->limit_active - (int)h2_ihash_count(m->sredo)); while (n > 0 && (stream = get_latest_repeatable_unsubmitted_stream(m))) { ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, m->c, "h2_mplx(%s): unschedule, resetting task for redo later", stream->task->id); h2_task_rst(stream->task, H2_ERR_CANCEL); h2_ihash_add(m->sredo, stream); --n; Loading
modules/http2/h2_task.c +1 −1 Changes for modules/http2/h2_task.c: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -504,7 +504,7 @@ static int h2_task_pre_conn(conn_rec* c, void *arg) (void)arg; if (h2_ctx_is_task(ctx)) { ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, c, "h2_h2, pre_connection, found stream task"); "h2_slave(%s), pre_connection, adding filters", c->log_id); ap_add_input_filter("H2_SLAVE_IN", NULL, NULL, c); ap_add_output_filter("H2_PARSE_H1", NULL, NULL, c); ap_add_output_filter("H2_SLAVE_OUT", NULL, NULL, c); Loading