> Am 20.06.2022 um 08:59 schrieb Ruediger Pluem <rpl...@apache.org>:
>
>
>
> On 6/20/22 8:53 AM, Ruediger Pluem wrote:
>>
>>
>> On 6/17/22 11:24 AM, ic...@apache.org wrote:
>>> Author: icing
>>> Date: Fri Jun 17 09:24:57 2022
>>> New Revision: 1902005
>>>
>>> URL: http://svn.apache.org/viewvc?rev=1902005&view=rev
>>> Log:
>>> *) mod_http2: new implementation of h2 worker pool.
>>> - O(1) cost at registration of connection processing producers
>>> - no limit on registered producers
>>> - join of ongoing work on unregister
>>> - callbacks to unlink dependencies into other h2 code
>>> - memory cleanup on workers deactivation (on idle timeouts)
>>> - idle_limit as apr_time_t instead of seconds
>>>
>>>
>>> Modified:
>>> httpd/httpd/trunk/modules/http2/h2_c1.c
>>> httpd/httpd/trunk/modules/http2/h2_config.c
>>> httpd/httpd/trunk/modules/http2/h2_config.h
>>> httpd/httpd/trunk/modules/http2/h2_mplx.c
>>> httpd/httpd/trunk/modules/http2/h2_mplx.h
>>> httpd/httpd/trunk/modules/http2/h2_workers.c
>>> httpd/httpd/trunk/modules/http2/h2_workers.h
>>> httpd/httpd/trunk/modules/http2/mod_http2.c
>>>
>>> Modified: httpd/httpd/trunk/modules/http2/h2_c1.c
>>> URL:
>>> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_c1.c?rev=1902005&r1=1902004&r2=1902005&view=diff
>>> ==============================================================================
>>> --- httpd/httpd/trunk/modules/http2/h2_c1.c (original)
>>> +++ httpd/httpd/trunk/modules/http2/h2_c1.c Fri Jun 17 09:24:57 2022
>>> @@ -56,11 +56,8 @@ apr_status_t h2_c1_child_init(apr_pool_t
>>> {
>>> apr_status_t status = APR_SUCCESS;
>>> int minw, maxw;
>>> - int max_threads_per_child = 0;
>>> - int idle_secs = 0;
>>> + apr_time_t idle_limit;
>>>
>>> - ap_mpm_query(AP_MPMQ_MAX_THREADS, &max_threads_per_child);
>>> -
>>> status = ap_mpm_query(AP_MPMQ_IS_ASYNC, &async_mpm);
>>> if (status != APR_SUCCESS) {
>>> /* some MPMs do not implemnent this */
>>> @@ -70,12 +67,8 @@ apr_status_t h2_c1_child_init(apr_pool_t
>>>
>>> h2_config_init(pool);
>>>
>>> - h2_get_num_workers(s, &minw, &maxw);
>>> - idle_secs = h2_config_sgeti(s, H2_CONF_MAX_WORKER_IDLE_SECS);
>>> - ap_log_error(APLOG_MARK, APLOG_TRACE3, 0, s,
>>> - "h2_workers: min=%d max=%d, mthrpchild=%d, idle_secs=%d",
>>> - minw, maxw, max_threads_per_child, idle_secs);
>>> - workers = h2_workers_create(s, pool, minw, maxw, idle_secs);
>>> + h2_get_workers_config(s, &minw, &maxw, &idle_limit);
>>> + workers = h2_workers_create(s, pool, maxw, minw, idle_limit);
>>
>> Shouldn't that be
>>
>> workers = h2_workers_create(s, pool, minw, maxw, idle_limit);
>>
>> instead?
>
> Scratch that. I just noticed that the order of the parameters in
> h2_workers_create was changed as well.
You had me scrambling there for a second. ;)
Yeah, might be more "natural" to have them the other way around. No strong
feelings.
Cheers,
Stefan
>
> Regards
>
> RĂ¼diger