httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregg Smith <...@gknw.net>
Subject Re: protocols and mod_h2 consolidation
Date Wed, 26 Aug 2015 00:33:09 GMT
Stefan,

Changes worked great. Thanks.

Gregg

On 8/25/2015 3:43 AM, Stefan Eissing wrote:
> Gregg,
>
> I just checked in changes that should fix the warnings you mentioned. Thanks for reviewing
this. As to the SERVER_PROTOCOL, I have no idea yet what may cause this.
>
> //Stefan
>
>> Am 25.08.2015 um 06:11 schrieb Gregg Smith<gls@gknw.net>:
>>
>> Hi,
>>
>> On 8/24/2015 9:29 AM, Stefan Eissing wrote:
>>
>>> I hope this works for everyone. The next weeks might be a good time to think
about it and propose any changes and correct my mistakes.
>> There are two things that go bump on my lowest non-eol version of MSVC.
>> h2_worker.c
>> .\h2_worker.c(113) : error C2440: 'function' : cannot convert from 'void *(__cdecl
*)(apr_thread_t *,void *)' to 'apr_thread_start_t'
>> .\h2_worker.c(113) : warning C4022: 'apr_thread_create' : pointer mismatch for actual
parameter 3
>>
>> Casting execute to apr_thread_start_t (what apr_thread_create expects) seems to quiet
the compiler and FireFox seems to work with it.
>>
>> h2_session.c
>> .\h2_session.c(1079) : error C2440: 'type cast' : cannot convert from 'int' to 'nghttp2_data_source'
>> .\h2_session.c(1081) : warning C4047: 'initializing' : 'int' differs in levels of
indirection from 'nghttp2_data_source_read_callback'
>>
>> This cast to a union type, this MSVC version's docs on Unions has a note in the comments
mentioning;
>>> We recommend that you do not use a union to cast data from one data type to another
because union members occupy the same address in memory.
>>>
>>> There is no data-conversion support for unions. The results of interchanging
writes and reads between union members of different types are unpredictable and depend on
a variety of reasons.
>>>
>> They are evidently enforcing this. I just removed the cast and it builds and Firefox
seems to work.
>>
>> Other nits of interest or not;
>> h2_stream_set.c
>> .\h2_stream_set.c(139) : warning C4028: formal parameter 2 different from declaration
>>
>> The function is prototyped as: h2_stream_set_match_fn *match
>> but in h2_stream_set.c it is: h2_stream_set_match_fn match
>>
>> I get 2 different results for the $ENV{'SERVER_PROTOCOL'} in my perl script depending
on the machine. My server gives me "HTTP/1.1" and running locally on my build machine I get
"INCLUDED." Firefox says it is HTTP/2.0 200 OK so both results in this $ENV seem incorrect.
I'm not sure why the difference as mod_h2 is configured same on both.
>>
>> Regards,
>> Gregg
>>
>>
>>
>>
>>
> <green/>bytes GmbH
> Hafenweg 16, 48155 Münster, Germany
> Phone: +49 251 2807760. Amtsgericht Münster: HRB5782
>
>
>


Mime
View raw message