Подробности

[В начало]

Проблема в реализации № S0590

Краткое описание

Неправильное возвращаемое значение FcAtomicLock

Подробное описание

В описании функции FcAtomicLock сказано: "Returns FcFalse if the file is locked by another process, else returns FcTrue and leaves the file locked.". То есть при попытке заблокировать файл второй раз из того же самого процесса функция должна возвращать FcTrue.

Тем не менее, реализация функции FcAtomicLock в этой ситуации возвращает FcFalse.

Раздел стандарта

Fontconfig Developers Reference, Version 2.4.2

Пример

#define FILE1 any_file //any existing file here
FcAtomic  *fca;
FcBool    b1, b2;

    if (!(fca = FcAtomicCreate ((FcChar8 *)FILE1)))
    {
        printf ("Could not create FcAtomic\n");
    }
    printf("Trying to lock the file %s\n", (char*)FILE1);
    b1 = FcAtomicLock (fca);
    b2 = FcAtomicLock (fca);  

    /* 
     * b2 have to be FcTrue but it is FcFalse
     */

Компонент

fontconfig 2.2.3 or later

Принято

freedesktop.org Bugzilla 12947

Статус

Исправлено в fontconfig 2.5.0

[В начало]