Giovanni Mascellani (@giomasce) commented about libs/vkd3d/cache.c:
cache->desc.disk_size = 0; /* Convert to mem only. */vkd3d_free(filename);return;}- }
- sprintf(filename, "%s.idx", cache->name);
- indices = fopen(filename, "rb");
- if (!indices)
- {
/* This happens when the cache files did not exist. Keep the opened* values file, we'll use it later. */WARN("Index file %s not found.\n", filename);vkd3d_free(filename);return;- }
Given that you dump and read the whole database each time you might as well use a single file, which should decrease the corruption probability (for example because two processes read/write concurrently to the same database).