On 5/28/20 12:06 PM, Stefan Eissing wrote:
> 
>> Am 28.05.2020 um 12:05 schrieb Ruediger Pluem <[email protected]>:
>>
>>
>>
>> On 5/28/20 11:36 AM, Stefan Eissing wrote:
>>
>>>
>>> You are correct. I made a v2 of the patch:
>>
>> Thanks. This one looks good.
> 
> Thanks for reviewing this.

Thanks for commiting as r1878233. One further enhancement on top of this:

Index: modules/http2/h2_proxy_session.c
===================================================================
--- modules/http2/h2_proxy_session.c    (revision 1878243)
+++ modules/http2/h2_proxy_session.c    (working copy)
@@ -1399,6 +1399,7 @@
 {
     apr_status_t status;
     int have_written = 0, have_read = 0;
+    apr_interval_time_t timeout;

     ap_log_cerror(APLOG_MARK, APLOG_TRACE2, 0, session->c,
                   "h2_proxy_session(%s): process", session->id);
@@ -1441,7 +1442,14 @@
                  * configured via ProxyTimeout in our socket. There is
                  * nothing we want to send or check until we get more data
                  * from the backend. */
-                status = h2_proxy_session_read(session, 1, 0);
+                if (session->check_ping
+                    && session->p_conn->worker->s->ping_timeout_set) {
+                    timeout = session->p_conn->worker->s->ping_timeout;
+                }
+                else {
+                    timeout = 0;
+                }
+                status = h2_proxy_session_read(session, 1, timeout);
                 if (status == APR_SUCCESS) {
                     have_read = 1;
                     dispatch_event(session, H2_PROXYS_EV_DATA_READ, 0, NULL);


This would make use of the worker ping parameter if we wait for a ping and the 
ping parameter was specified.
Opinions (and yes if this is fine I would adjust the comment above regarding 
ProxyTimeout)?

Regards

RĂ¼diger

Reply via email to