]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
mod_http2: wseaking cleanup assertion on streams that have never been scheduled
authorStefan Eissing <icing@apache.org>
Thu, 24 Nov 2016 14:53:12 +0000 (14:53 +0000)
committerStefan Eissing <icing@apache.org>
Thu, 24 Nov 2016 14:53:12 +0000 (14:53 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1771160 13f79535-47bb-0310-9956-ffa450edef68

modules/http2/h2_mplx.c
modules/http2/h2_stream.c

index 7150058558051282df92baa4476872955ebb30bf..dd9c563ac37968080362d41fab4cb5efbaf9feed 100644 (file)
@@ -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) {
index d3dd50cb653a848aa5e8617efe99b4910af75a04..2d179d0b0fcba87e1ed504a2dd10380f655fb5a6 100644 (file)
@@ -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);