Skip to content

GitLab

  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • F fontconfig
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 170
    • Issues 170
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 20
    • Merge requests 20
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • fontconfig
  • fontconfig
  • Issues
  • #122

Closed
Open
Created Oct 07, 2018 by Rinat Ibragimov@i-rinat

I think, `FcDirCacheDeleteUUID()` should not be called from `FcDirCacheRead()`

FcDirCacheDeleteUUID() is called from FcDirCacheRead().

But why so often? Say, there are .uuid files in empty directories. They shouldn't cause any issues. If package manager wants to clear those files, it can call fc-cache -r. Package managers already call fc-cache in post-inst scripts, so there should be any difficulties with running it in pre-rm scripts too.

There are no ways to unlink file and change directory in an atomic way. There always will be a gap. More often there are directory modifications due to UUID removal, more opportunities to cause some application to eat CPU. On the other hand, if FcDirCacheRead() will no longer call FcDirCacheDeleteUUID(), there will be no need to change mtime back: font installations are usually rare.

[1] f5dd8512
[2] !7 (merged)

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking