Re: problem in HTCache.c

Hello Jens,

Thanks for your patches. I just committed it to CVS.
 
I made a small change to avoid duplicating the if condition:

 if ((pres->freshness_lifetime < current_age)
	&& HTCache_remove (pres)) {
     cur = old_cur;
 } else {
     old_cur = cur;
 }

And something similar in the other case.

-Jose


In our previous episode, Jens Meggers said:
> 
> I found a problem in HTCacheGarbage() of HTCache.c.
> The procedure walks through the cache entires. When an entry is expired, it deletes the object with HTCache_remove(pres) and sets the cur pointer to the former valid pointer by calling cur = old_cur;
> However, if HTCache_remove(pres) does not succeed, we are going into an endless loop. In my implementation this happens because a cache entry was locked. I assume that locked entires cannot be deleted, so I changed the code to the following:

Received on Tuesday, 8 August 2000 11:13:30 UTC