httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gregg Smith <...@gknw.net>
Subject Re: svn commit: r1712300 [1/2] - /httpd/httpd/trunk/modules/http2/
Date Tue, 03 Nov 2015 23:40:37 GMT
On 11/3/2015 6:33 AM, icing@apache.org wrote:
> Author: icing
> Date: Tue Nov  3 14:33:11 2015
> New Revision: 1712300
>
> URL: http://svn.apache.org/viewvc?rev=1712300&view=rev
> Log:
> rework of output handling on stream/session close, rework of cleartext (http:) output
to pass buckets to core filters, splitting of stream/io memory pools for stability and less
sync
>
> Added:
>      httpd/httpd/trunk/modules/http2/h2_bucket_eoc.c
>      httpd/httpd/trunk/modules/http2/h2_bucket_eoc.h
>      httpd/httpd/trunk/modules/http2/h2_bucket_eos.c
>      httpd/httpd/trunk/modules/http2/h2_bucket_eos.h
> Modified:
...
>      httpd/httpd/trunk/modules/http2/h2_util.c
>
> Added: httpd/httpd/trunk/modules/http2/h2_bucket_eoc.c
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_bucket_eoc.c?rev=1712300&view=auto
> ==============================================================================
...
> +
> +AP_DECLARE(apr_bucket *) h2_bucket_eoc_make(apr_bucket *b,
> +                                            h2_session *session)

No :) we cannot export with AP_DELARE in modules on Windows because we 
need to keep them separate from the AP_DECLARE functions we are going to 
be importing from core.

.\h2_util.c(727) : error C2491: 'h2_transfer_brigade' : definition of 
dllimport function not allowed
.\h2_bucket_eos.c(60) : error C2491: 'h2_bucket_eos_make' : definition 
of dllimport function not allowed
.\h2_bucket_eos.c(74) : error C2491: 'h2_bucket_eos_create' : definition 
of dllimport function not allowed
.\h2_bucket_eos.c(101) : error C2491: 'ap_bucket_type_h2_eos' : 
definition of dllimport data not allowed
.\h2_bucket_eoc.c(60) : error C2491: 'h2_bucket_eoc_make' : definition 
of dllimport function not allowed
.\h2_bucket_eoc.c(74) : error C2491: 'h2_bucket_eoc_create' : definition 
of dllimport function not allowed
.\h2_bucket_eoc.c(101) : error C2491: 'ap_bucket_type_h2_eoc' : 
definition of dllimport data not allowed

If we take a page from other modules (mod_dav/proxy/ssl) we can see the 
need to come up with an private set of declares.
I have the attached patch ready to commit.
...
> +AP_DECLARE_DATA const apr_bucket_type_t ap_bucket_type_h2_eoc = {
> +    "H2EOC", 5, APR_BUCKET_METADATA,
> +    bucket_destroy,
> +    bucket_read,
> +    apr_bucket_setaside_noop,
> +    apr_bucket_split_notimpl,
> +    apr_bucket_shared_copy
> +};
> +

 >>> Nit <<<
Should we really be declaring anything for export with an ap_* in a 
loadable module? I thought the ap_* name was reserved for core only, I 
may be wrong.



Mime
View raw message