On 11/4/21 10:42 AM, ic...@apache.org wrote:
> Author: icing
> Date: Thu Nov  4 09:42:45 2021
> New Revision: 1894728
> 
> URL: http://svn.apache.org/viewvc?rev=1894728&view=rev
> Log:
>   * mod_http2: a regression in v1.15.24 of the modules was fixed that
>     could lead to httpd child processes not being terminated on a
>     graceful reload or when reaching MaxConnectionsPerChild.
>     When unprocessed h2 requests were queued at the time, these could stall.
>     See <https://github.com/icing/mod_h2/issues/212>.
>     [@hansborr, @famzah, Stefan Eissing]
> 
> 
> Added:
>     httpd/httpd/trunk/changes-entries/h2_graceful_stall.txt
> Modified:
>     httpd/httpd/trunk/modules/http2/h2_session.c
>     httpd/httpd/trunk/modules/http2/h2_workers.c
> 

> Modified: httpd/httpd/trunk/modules/http2/h2_workers.c
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_workers.c?rev=1894728&r1=1894727&r2=1894728&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/http2/h2_workers.c (original)
> +++ httpd/httpd/trunk/modules/http2/h2_workers.c Thu Nov  4 09:42:45 2021
> @@ -461,8 +461,6 @@ apr_status_t h2_workers_unregister(h2_wo
>  void h2_workers_graceful_shutdown(h2_workers *workers)
>  {
>      workers->shutdown = 1;
> -    workers->min_workers = 1;

Isn't this needed to ensure that all idle workers are shutdown?
It is used in h2_fifo_term and wake_non_essential_workers.

>      workers->max_idle_duration = apr_time_from_sec(1);
> -    h2_fifo_term(workers->mplxs);

Why is this no longer needed? Is wake_non_essential_workers below enough?

>      wake_non_essential_workers(workers);
>  }
> 

Regards

RĂ¼diger

Reply via email to