summaryrefslogtreecommitdiffstats
path: root/source/l/hal/patches/regen_fdi_cache_if_zero_size.diff
blob: ab39874882199be202ce33f49c2b7dcea378a12f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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();