You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Guenter Knauf <fu...@apache.org> on 2010/10/20 16:03:45 UTC

Re: svn commit: r1023387 - in /httpd/httpd/trunk/modules/cache: cache_util.c cache_util.h mod_cache.c mod_cache.h mod_disk_cache.c mod_disk_cache.h

Hi Graham,
Am 17.10.2010 01:15, schrieb minfrin@apache.org:
> Author: minfrin
> Date: Sat Oct 16 23:15:52 2010
> New Revision: 1023387
>
> URL: http://svn.apache.org/viewvc?rev=1023387&view=rev
> Log:
> Complete the optimisation of Cache-Control header parsing. Make the
> cache_control_t structure public so as to be available to mod_disk_cache.
>
> Modified:
>      httpd/httpd/trunk/modules/cache/cache_util.c
>      httpd/httpd/trunk/modules/cache/cache_util.h
>      httpd/httpd/trunk/modules/cache/mod_cache.c
>      httpd/httpd/trunk/modules/cache/mod_cache.h
>      httpd/httpd/trunk/modules/cache/mod_disk_cache.c
>      httpd/httpd/trunk/modules/cache/mod_disk_cache.h
>
> Modified: httpd/httpd/trunk/modules/cache/mod_disk_cache.h
> URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/cache/mod_disk_cache.h?rev=1023387&r1=1023386&r2=1023387&view=diff
> ==============================================================================
> --- httpd/httpd/trunk/modules/cache/mod_disk_cache.h (original)
> +++ httpd/httpd/trunk/modules/cache/mod_disk_cache.h Sat Oct 16 23:15:52 2010
> @@ -17,6 +17,7 @@
>   #ifndef MOD_DISK_CACHE_H
>   #define MOD_DISK_CACHE_H
>
> +#include "mod_cache.h"
>   #include "apr_file_io.h"
>
>   /*
> @@ -57,6 +58,8 @@ typedef struct {
>       /* Does this cached request have a body? */
>       int has_body;
>       int header_only;
> +    /* The parsed cache control header */
> +    cache_control_t control;
>   } disk_cache_info_t;
>
>   typedef struct {

this part of r1023387 breaks the NetWare build of htcacheclean.
That happens because mod_cache.h includes httpd.h which includes os.h 
which has a redefine for exit(), and this requires a var defined in 
mpm_netware.c - so this would require to link htcacheclean with 
mpm_netware.c ...
Not sure but I guess this will break the Win32 build too since there we 
have a similar exit() redefine.
Cant we put the structs all into a separate header, f.e. cache_structs.h 
which does not include httpd.h?

Gün.



Re: svn commit: r1023387 - in /httpd/httpd/trunk/modules/cache: cache_util.c cache_util.h mod_cache.c mod_cache.h mod_disk_cache.c mod_disk_cache.h

Posted by NormW <no...@gknw.net>.
On 21/10/2010 12:03 AM, Guenter Knauf wrote:
> Hi Graham,
> Am 17.10.2010 01:15, schrieb minfrin@apache.org:
>> Author: minfrin
>> Date: Sat Oct 16 23:15:52 2010
>> New Revision: 1023387
>>
>> URL: http://svn.apache.org/viewvc?rev=1023387&view=rev
>> Log:
>> Complete the optimisation of Cache-Control header parsing. Make the
>> cache_control_t structure public so as to be available to mod_disk_cache.
>>
>> Modified:
>> httpd/httpd/trunk/modules/cache/cache_util.c
>> httpd/httpd/trunk/modules/cache/cache_util.h
>> httpd/httpd/trunk/modules/cache/mod_cache.c
>> httpd/httpd/trunk/modules/cache/mod_cache.h
>> httpd/httpd/trunk/modules/cache/mod_disk_cache.c
>> httpd/httpd/trunk/modules/cache/mod_disk_cache.h
>>
>> Modified: httpd/httpd/trunk/modules/cache/mod_disk_cache.h
>> URL:
>> http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/cache/mod_disk_cache.h?rev=1023387&r1=1023386&r2=1023387&view=diff
>>
>> ==============================================================================
>>
>> --- httpd/httpd/trunk/modules/cache/mod_disk_cache.h (original)
>> +++ httpd/httpd/trunk/modules/cache/mod_disk_cache.h Sat Oct 16
>> 23:15:52 2010
>> @@ -17,6 +17,7 @@
>> #ifndef MOD_DISK_CACHE_H
>> #define MOD_DISK_CACHE_H
>>
>> +#include "mod_cache.h"
>> #include "apr_file_io.h"
>>
>> /*
>> @@ -57,6 +58,8 @@ typedef struct {
>> /* Does this cached request have a body? */
>> int has_body;
>> int header_only;
>> + /* The parsed cache control header */
>> + cache_control_t control;
>> } disk_cache_info_t;
>>
>> typedef struct {
>
> this part of r1023387 breaks the NetWare build of htcacheclean.
> That happens because mod_cache.h includes httpd.h which includes os.h
> which has a redefine for exit(), and this requires a var defined in
> mpm_netware.c - so this would require to link htcacheclean with
> mpm_netware.c ...
> Not sure but I guess this will break the Win32 build too since there we
> have a similar exit() redefine.
> Cant we put the structs all into a separate header, f.e. cache_structs.h
> which does not include httpd.h?
>
> Gün.
>
Can confirm issue with htcacheclean and NetWare, although resolution is 
outside my skill set.

Additionally, my picky compiler finds the following tweak desirable for 
its happiness:
> --- httpd-trunk\modules\proxy\mod_proxy_http.c.orig	2010-10-21 07:31:33.468750000 +1000
> +++ httpd-trunk\modules\proxy\mod_proxy_http.c	2010-10-22 09:04:17.125000000 +1000
> @@ -1412,11 +1412,10 @@
>      conn_rec *origin = backend->connection;
>      apr_interval_time_t old_timeout = 0;
>      proxy_dir_conf *dconf;
> +    int do_100_continue;
>
>      dconf = ap_get_module_config(r->per_dir_config, &proxy_module);
>
> -    int do_100_continue;
> -
>      do_100_continue = (worker->ping_timeout_set
>                         && ap_request_has_body(r)
>                         && (PROXYREQ_REVERSE == r->proxyreq)
Norm