From 14b9c1b9ff85b173fe73b538e93aa9c3eb6ee67b Mon Sep 17 00:00:00 2001 From: Stefan Eissing Date: Mon, 11 Jul 2016 11:03:24 +0000 Subject: [PATCH] mod_http2: no master timeout while requests are ongoing git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1752145 13f79535-47bb-0310-9956-ffa450edef68 --- CHANGES | 4 ++++ modules/http2/h2_session.c | 10 ---------- modules/http2/h2_session.h | 1 - 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/CHANGES b/CHANGES index 5c3ffb230f3..d5515d0aa0a 100644 --- a/CHANGES +++ b/CHANGES @@ -1,6 +1,10 @@ -*- coding: utf-8 -*- Changes with Apache 2.5.0 + *) mod_http2: removing timeouts on master connection while requests are + being processed. Requests may timeout, but the master only times out when + no more requests are active. [Stefan Eissing] + *) mod_crypto: Add the all purpose crypto filters with support for HLS. [Graham Leggett] diff --git a/modules/http2/h2_session.c b/modules/http2/h2_session.c index 6922b5f4380..f32c79c9841 100644 --- a/modules/http2/h2_session.c +++ b/modules/http2/h2_session.c @@ -2248,21 +2248,11 @@ apr_status_t h2_session_process(h2_session *session, int async) case H2_SESSION_ST_WAIT: if (session->wait_us <= 0) { session->wait_us = 10; - session->start_wait = apr_time_now(); if (h2_conn_io_flush(&session->io) != APR_SUCCESS) { dispatch_event(session, H2_SESSION_EV_CONN_ERROR, 0, NULL); break; } } - else if ((apr_time_now() - session->start_wait) >= session->s->timeout) { - /* waited long enough */ - if (trace) { - ap_log_cerror(APLOG_MARK, APLOG_TRACE3, APR_TIMEUP, c, - "h2_session: wait for data"); - } - dispatch_event(session, H2_SESSION_EV_CONN_TIMEOUT, 0, "timeout"); - break; - } else { /* repeating, increase timer for graceful backoff */ session->wait_us = H2MIN(session->wait_us*2, MAX_WAIT_MICROS); diff --git a/modules/http2/h2_session.h b/modules/http2/h2_session.h index c5c5b7aecf4..3db70b3589f 100644 --- a/modules/http2/h2_session.h +++ b/modules/http2/h2_session.h @@ -120,7 +120,6 @@ typedef struct h2_session { apr_size_t max_stream_count; /* max number of open streams */ apr_size_t max_stream_mem; /* max buffer memory for a single stream */ - apr_time_t start_wait; /* Time we started waiting for sth. to happen */ apr_time_t idle_until; /* Time we shut down due to sheer boredom */ apr_time_t keep_sync_until; /* Time we sync wait until passing to async mpm */ -- 2.47.3