> Am 19.12.2019 um 12:59 schrieb Yann Ylavic <[email protected]>:
> 
> On Thu, Dec 19, 2019 at 10:39 AM <[email protected]> wrote:
> []
>> 
>> Modified: httpd/httpd/trunk/modules/http2/h2_mplx.c
>> URL: 
>> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_mplx.c?rev=1871810&r1=1871809&r2=1871810&view=diff
>> ==============================================================================
>> --- httpd/httpd/trunk/modules/http2/h2_mplx.c (original)
>> +++ httpd/httpd/trunk/modules/http2/h2_mplx.c Thu Dec 19 09:39:22 2019
> []
>> 
>> @@ -508,12 +511,11 @@ static void output_produced(void *ctx, h
>>     h2_stream *stream = ctx;
>>     h2_mplx *m = stream->session->mplx;
>> 
>> -    check_data_for(m, stream, 1);
>> +    check_data_for(m, stream, 0);
>> }
> 
> This should be mplx_is_locked=1, no? It seems that h2_mplx_out_open()
> takes the lock, then calls out_open() => output_produced().

Hmm. The output_produced is a callback in the h2_task output beam. The idea is 
that when the h2 request writes to its output brigade, which ends up in the 
output beam, this callback notifies the h2_mplx that there is data to be 
handled.

Where do you see this callback invoked when the mplx is locked?

Reply via email to