[Fontconfig] Race condition on updating cache
Behdad Esfahbod
behdad at behdad.org
Mon Sep 30 12:49:30 PDT 2013
On 13-09-29 11:54 PM, Akira TAGOH wrote:
> Hi,
>
> I think this may be a long standing issue and worked around with
> waiting for a few sec after updating the cache. but I've got a report
> and still reproducible and finally tracked it down and created 100%
> reproducible test case by having a logic to get rid of that
> conditional state.
>
> Let me explain how it happens first. fc-cache reads the directory to
> update the directory cache. as you may know this affects reading the
> sub-directories to find out fonts.
> If one is installing a new font while updating and finished reading
> the sub-directories on it. it won't updates the cache even if a
> directory is created/removed/renamed. and the cache is created without
> a directory where being installed a new font and won't be updated so
> that the cache's timestamp is newer than it.
>
> We may need to watch the changes on the directory while updating
> though, I just want to discuss the possible and the simple solution on
> this here.
What about this:
- When starting to create a new cache file, note the timestamp,
- When the new cache file is written (right before renaming it to its final
name) set its timestamp to the timestamp noted above,
- After writing the cache, retry from the start, check again whether the
cache needs updating.
WDYT?
> Thanks,
>
> https://bugs.freedesktop.org/show_bug.cgi?id=69845
>
--
behdad
http://behdad.org/
More information about the Fontconfig
mailing list