src/fccache.c | 31 +------------------------------ src/fcdir.c | 31 ++++++------------------------- src/fcint.h | 8 +------- 3 files changed, 8 insertions(+), 62 deletions(-) New commits: commit d179cbc2536af16cf0f4992e0a4b2d751437ee6c Author: Akira TAGOH <akira@xxxxxxxxx> Date: Wed Apr 6 14:39:15 2016 +0900 Revert "Workaround another race condition issue" This reverts commit f44bfad235e63bb792c38e16ae1fbd281ec1453b. diff --git a/src/fccache.c b/src/fccache.c index b681a5e..7d6396c 100644 --- a/src/fccache.c +++ b/src/fccache.c @@ -587,33 +587,6 @@ FcCacheTimeValid (FcConfig *config, FcCache *cache, struct stat *dir_stat) return cache->checksum == (int) dir_stat->st_mtime && fnano; } -static FcBool -FcCacheDirsValid (FcConfig *config, FcCache *cache) -{ - FcStrSet *dirs = FcStrSetCreateEx (FCSS_GROW_BY_64); - FcBool ret = FcFalse; - const FcChar8 *sysroot = FcConfigGetSysRoot (config); - FcChar8 *d; - - if (!dirs) - goto bail; - if (sysroot) - d = FcStrBuildFilename (sysroot, FcCacheDir (cache), NULL); - else - d = FcStrdup (FcCacheDir (cache)); - if (!FcDirScanOnly (dirs, d, config)) - goto bail1; - ret = cache->dirs_count == dirs->num; - if (FcDebug () & FC_DBG_CACHE) - printf ("%s: cache: %d, fs: %d\n", d, cache->dirs_count, dirs->num); - -bail1: - FcStrSetDestroy (dirs); - FcStrFree (d); -bail: - return ret; -} - /* * Map a cache file into memory */ @@ -628,8 +601,7 @@ FcDirCacheMapFd (FcConfig *config, int fd, struct stat *fd_stat, struct stat *di cache = FcCacheFindByStat (fd_stat); if (cache) { - if (FcCacheTimeValid (config, cache, dir_stat) && - FcCacheDirsValid (config, cache)) + if (FcCacheTimeValid (config, cache, dir_stat)) return cache; FcDirCacheUnload (cache); cache = NULL; @@ -681,7 +653,6 @@ FcDirCacheMapFd (FcConfig *config, int fd, struct stat *fd_stat, struct stat *di cache->version < FC_CACHE_VERSION_NUMBER || cache->size != (intptr_t) fd_stat->st_size || !FcCacheTimeValid (config, cache, dir_stat) || - !FcCacheDirsValid (config, cache) || !FcCacheInsert (cache, fd_stat)) { if (allocated) diff --git a/src/fcdir.c b/src/fcdir.c index 81c98b6..fd62a34 100644 --- a/src/fcdir.c +++ b/src/fcdir.c @@ -233,8 +233,7 @@ FcDirScanConfig (FcFontSet *set, FcBlanks *blanks, const FcChar8 *dir, FcBool force, /* XXX unused */ - FcConfig *config, - FcBool scanOnly) + FcConfig *config) { DIR *d; struct dirent *e; @@ -250,7 +249,7 @@ FcDirScanConfig (FcFontSet *set, if (!set && !dirs) return FcTrue; - if (!blanks && !scanOnly) + if (!blanks) blanks = FcConfigGetBlanks (config); /* freed below */ @@ -303,17 +302,7 @@ FcDirScanConfig (FcFontSet *set, * Scan file files to build font patterns */ for (i = 0; i < files->num; i++) - { - if (scanOnly) - { - if (FcFileIsDir (files->strs[i])) - FcFileScanConfig (NULL, dirs, NULL, files->strs[i], config); - } - else - { - FcFileScanConfig (set, dirs, blanks, files->strs[i], config); - } - } + FcFileScanConfig (set, dirs, blanks, files->strs[i], config); bail2: FcStrSetDestroy (files); @@ -337,15 +326,7 @@ FcDirScan (FcFontSet *set, if (cache || !force) return FcFalse; - return FcDirScanConfig (set, dirs, blanks, dir, force, FcConfigGetCurrent (), FcFalse); -} - -FcBool -FcDirScanOnly (FcStrSet *dirs, - const FcChar8 *dir, - FcConfig *config) -{ - return FcDirScanConfig (NULL, dirs, NULL, dir, FcTrue, config, FcTrue); + return FcDirScanConfig (set, dirs, blanks, dir, force, FcConfigGetCurrent ()); } /* @@ -385,7 +366,7 @@ FcDirCacheScan (const FcChar8 *dir, FcConfig *config) /* * Scan the dir */ - if (!FcDirScanConfig (set, dirs, NULL, d, FcTrue, config, FcFalse)) + if (!FcDirScanConfig (set, dirs, NULL, d, FcTrue, config)) goto bail2; /* @@ -440,7 +421,7 @@ FcDirCacheRescan (const FcChar8 *dir, FcConfig *config) /* * Scan the dir */ - if (!FcDirScanConfig (NULL, dirs, NULL, d, FcTrue, config, FcFalse)) + if (!FcDirScanConfig (NULL, dirs, NULL, d, FcTrue, config)) goto bail1; /* * Rebuild the cache object diff --git a/src/fcint.h b/src/fcint.h index ee6cc99..ac911ad 100644 --- a/src/fcint.h +++ b/src/fcint.h @@ -851,13 +851,7 @@ FcDirScanConfig (FcFontSet *set, FcBlanks *blanks, const FcChar8 *dir, FcBool force, - FcConfig *config, - FcBool scanOnly); - -FcPrivate FcBool -FcDirScanOnly (FcStrSet *dirs, - const FcChar8 *dir, - FcConfig *config); + FcConfig *config); /* fcfont.c */ FcPrivate int _______________________________________________ Fontconfig mailing list Fontconfig@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/fontconfig