From: Stefan Eissing Date: Thu, 24 Nov 2016 14:53:12 +0000 (+0000) Subject: mod_http2: wseaking cleanup assertion on streams that have never been scheduled X-Git-Tag: 2.5.0-alpha~976 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9ed8c34e74730400344f71c5b3d862bac1ce333c;p=thirdparty%2Fapache%2Fhttpd.git mod_http2: wseaking cleanup assertion on streams that have never been scheduled git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1771160 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/http2/h2_mplx.c b/modules/http2/h2_mplx.c index 71500585580..dd9c563ac37 100644 --- a/modules/http2/h2_mplx.c +++ b/modules/http2/h2_mplx.c @@ -899,6 +899,7 @@ static h2_task *next_stream_task(h2_mplx *m) h2_slave_run_pre_connection(slave, ap_get_conn_socket(slave)); } stream->started = 1; + stream->can_be_cleaned = 0; task->worker_started = 1; task->started_at = apr_time_now(); if (sid > m->max_stream_started) { diff --git a/modules/http2/h2_stream.c b/modules/http2/h2_stream.c index d3dd50cb653..2d179d0b0fc 100644 --- a/modules/http2/h2_stream.c +++ b/modules/http2/h2_stream.c @@ -200,6 +200,7 @@ h2_stream *h2_stream_open(int id, apr_pool_t *pool, h2_session *session, stream->state = H2_STREAM_ST_IDLE; stream->pool = pool; stream->session = session; + stream->can_be_cleaned = 1; h2_beam_create(&stream->input, pool, id, "input", H2_BEAM_OWNER_SEND, 0); h2_beam_create(&stream->output, pool, id, "output", H2_BEAM_OWNER_RECV, 0); @@ -412,6 +413,7 @@ apr_status_t h2_stream_schedule(h2_stream *stream, int eos, int push_enabled, stream->request = stream->rtmp; stream->rtmp = NULL; stream->scheduled = 1; + stream->push_policy = h2_push_policy_determine(stream->request->headers, stream->pool, push_enabled);