diff options
Diffstat (limited to 'source/l/hal/patches/regen_fdi_cache_if_zero_size.diff')
-rw-r--r-- | source/l/hal/patches/regen_fdi_cache_if_zero_size.diff | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/source/l/hal/patches/regen_fdi_cache_if_zero_size.diff b/source/l/hal/patches/regen_fdi_cache_if_zero_size.diff new file mode 100644 index 00000000..ab398748 --- /dev/null +++ b/source/l/hal/patches/regen_fdi_cache_if_zero_size.diff @@ -0,0 +1,24 @@ +Author: Richard Hughes <richard@hughsie.com> +Date: Thu Mar 5 09:40:10 2009 +0000 + + regenerate cache if it's zero sized + + Sometimes when systems go a bit haywire, the cache file is + written out as a zero byte file. We're still debugging this, + but in the case of a zero byte cache, just regenerate it anyway + +diff --git a/hald/mmap_cache.c b/hald/mmap_cache.c +index 6125cf0..cc1ffa5 100644 +--- a/hald/mmap_cache.c ++++ b/hald/mmap_cache.c +@@ -265,6 +265,10 @@ di_cache_coherency_check (gboolean setup_watches) + HAL_INFO(("Cache needs update")); + regen_cache(); + did_regen = TRUE; ++ } else if (st.st_size == 0) { ++ HAL_INFO(("Cache zero size, so regenerating")); ++ regen_cache(); ++ did_regen = TRUE; + } + } else { + regen_cache(); |