You are viewing a plain text version of this content. The canonical link for it is here.
Posted to apache-bugdb@apache.org by Tim Costello <tj...@socs.uts.edu.au> on 1998/03/01 00:36:13 UTC

os-windows/1891: Proxy cache garbage collection doesn't work under Win95

>Number:         1891
>Category:       os-windows
>Synopsis:       Proxy cache garbage collection doesn't work under Win95
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    apache
>State:          open
>Class:          sw-bug
>Submitter-Id:   apache
>Arrival-Date:   Sat Feb 28 15:40:00 PST 1998
>Last-Modified:
>Originator:     tjcostel@socs.uts.edu.au
>Organization:
apache
>Release:        1.3b5
>Environment:
Windows 95, 4.00.950B
Microsoft Visual C++ 4.0
>Description:
The size of the cache directory continues to grow, regardless of the 
garbage collection settings in httpd.conf.

Haven't tried this under WinNT - may or may not be a problem.
>How-To-Repeat:
Compile mod_proxy into apachecore.dll, and run on Win95. Use a small cache dir
size, and short GC interval so the problem doesn't take too long to test. 
>Fix:
Win95 needs to be treated like the EMX port in some ways, and the UNIX version
in others. I have a version which seems to work - here's a diff against the
1.3b5 version of proxy_cache.c

278a279,291
> /* OS/2 and WIN32 need to check for directories here */
> #if defined(__EMX__) || defined(WIN32)
> 
> /* WIN32 check for a directory */
> /* like the unix check, but must be before the open() below */
> #if defined(WIN32)
> 	if (stat(filename, &buf) == -1) {
> 	    proxy_log_uerror("stat", filename, NULL, r->server);
> 	    continue;
> 	}
> 
> 	if (S_ISDIR(buf.st_mode)) {
> 
280,281c293
< #ifdef __EMX__
< /* is it a directory? */
---
> #elif defined(__EMX__)	
282a295
> #endif
298c311
< #endif
---
> #endif /* __EMX__ || WIN32 */
307a321,323
> 
> /* In WIN32, already done above */
> #if !defined(WIN32)
312a329
> #endif
314,315c331,332
< /* In OS/2 this has already been done above */
< #ifndef __EMX__
---
> /* In OS/2 and WIN32 this has already been done above */
> #if !defined(__EMX__) && !defined(WIN32)
479c496
<     char hashfile[66], *imstr, *pragma, *auth;
---
>     char hashfile[128], *imstr, *pragma, *auth;

%0
>Audit-Trail:
>Unformatted:
[In order for any reply to be added to the PR database, ]
[you need to include <ap...@Apache.Org> in the Cc line ]
[and leave the subject line UNCHANGED.  This is not done]
[automatically because of the potential for mail loops. ]