summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inc/cache.php6
-rw-r--r--inc/parserutils.php7
2 files changed, 8 insertions, 5 deletions
diff --git a/inc/cache.php b/inc/cache.php
index 3c5dc058e..50ab799e7 100644
--- a/inc/cache.php
+++ b/inc/cache.php
@@ -105,10 +105,10 @@ class cache {
* cache $data
*
* @param string $data the data to be cached
- * @return none
+ * @return bool true on success, false otherwise
*/
function storeCache($data) {
- io_savefile($this->cache, $data);
+ return io_savefile($this->cache, $data);
}
/**
@@ -286,6 +286,6 @@ class cache_instructions extends cache_parser {
}
function storeCache($instructions) {
- io_savefile($this->cache,serialize($instructions));
+ return io_savefile($this->cache,serialize($instructions));
}
}
diff --git a/inc/parserutils.php b/inc/parserutils.php
index 66d1ae13c..c65185239 100644
--- a/inc/parserutils.php
+++ b/inc/parserutils.php
@@ -183,8 +183,11 @@ function p_cached_instructions($file,$cacheonly=false,$id='') {
} else if (@file_exists($file)) {
// no cache - do some work
$ins = p_get_instructions(io_readfile($file));
- $cache->storeCache($ins);
- $run[$file] = true; // we won't rebuild these instructions in the same run again
+ if ($cache->storeCache($ins)) {
+ $run[$file] = true; // we won't rebuild these instructions in the same run again
+ } else {
+ msg('Unable to save cache file. Hint: disk full; file permissions; safe_mode setting.',-1);
+ }
return $ins;
}