[Fontconfig] Re: Structure of cache files

Patrick Lam plam at MIT.EDU
Wed Oct 5 10:42:19 EST 2005

Matthias Clasen wrote:
>>Oops, you're right.  How about this: when we find that the cache is
>>invalidated on any platform, we remove all stale sections from other
>>platforms.  That ought to be sufficient to avoid staleness (safety).  Of
>>course, an update to a file which is not stale preserves existing
>>sections (liveness).  With this solution, in order to fully update cache
>>files, you'll have to run fc-cache on all relevant platforms once, which
>>is the best we can do (without cross-platform cache creation) anyway.
> Sounds like it should work well enough (since fonts are not installed
> with high frequency...)

I just committed a patch which unlinks the file if it's stale; if it's
not stale but just lacking a section, then it adds the section to the
cache.  So I reverted the patch to FcDirCacheValid and added

So, if FcDirCacheValid && FcDirCacheHasCurrentArch, then skip.

Otherwise, !FcDirCacheValid || !FcDirCacheHasCurrentArch.  If
!FcDirCacheValid (ie stale), then unlink.  In all cases, continue by
saving the cache.


More information about the Fontconfig mailing list