util/disk_cache: finish all queue jobs in destroy instead of killing them
authorMarek Olšák <marek.olsak@amd.com>
Wed, 23 Oct 2019 20:15:37 +0000 (16:15 -0400)
committerMarek Olšák <marek.olsak@amd.com>
Thu, 24 Oct 2019 00:22:50 +0000 (20:22 -0400)
If there are queued shaders to be written to disk, wait for that.

Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
src/util/disk_cache.c

index 77af64ed3b04d3ee08a52039e200eefe248251bb..0cd92ca2d5bef081f82a952065174702e44b8f14 100644 (file)
@@ -440,6 +440,7 @@ void
 disk_cache_destroy(struct disk_cache *cache)
 {
    if (cache && !cache->path_init_failed) {
+      util_queue_finish(&cache->cache_queue);
       util_queue_destroy(&cache->cache_queue);
       munmap(cache->index_mmap, cache->index_mmap_size);
    }