The description of the function FcAtomicLock states: "Returns FcFalse if the file is locked by another process, else returns FcTrue and leaves the file locked.". So if we try to lock the file for the second time from the same process the function should return FcTrue.
However the implementation of the function FcAtomicLock returns FcFalse in this case.
The detailed bug description can be found at:
The documentation is inaccurate; FcAtomicLock should only be invoked once by any process. I've changed it to read:
Attempts to lock the file referenced by <parameter>atomic</parameter>.
Returns FcFalse if the file is already locked, else returns FcTrue and
leaves the file locked.