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 @@
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 @@
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 @@
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 @@
FcBlanks *blanks,
const FcChar8 *dir,
FcBool force, /* XXX unused */
- FcConfig *config,
- FcBool scanOnly)
+ FcConfig *config)
{
DIR *d;
struct dirent *e;
@@ -250,7 +249,7 @@
if (!set && !dirs)
return FcTrue;
- if (!blanks && !scanOnly)
+ if (!blanks)
blanks = FcConfigGetBlanks (config);
/* freed below */
@@ -303,17 +302,7 @@
* 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 @@
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 @@
/*
* 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 @@
/*
* 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 @@
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