summaryrefslogtreecommitdiffstats
path: root/source/l/hal/patches/regen_fdi_cache_if_zero_size.diff
diff options
context:
space:
mode:
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.diff24
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 000000000..ab3987488
--- /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();