summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2012-12-12 09:46:02 +0400
committerAndrew Dolgov <[email protected]>2012-12-12 09:46:02 +0400
commit2a91b6ff78145a3ed955f7617b00e404ad6357b6 (patch)
tree9397979ab715c70a7fd622e7c7c795b9b8a75cf1 /include
parent88e8fb3a7132d1321ab65b66a19a67df890c402d (diff)
add built-in expiring of obsolete lockfiles
Diffstat (limited to 'include')
-rw-r--r--include/rssfuncs.php25
1 files changed, 24 insertions, 1 deletions
diff --git a/include/rssfuncs.php b/include/rssfuncs.php
index b5949d720..1b39efec1 100644
--- a/include/rssfuncs.php
+++ b/include/rssfuncs.php
@@ -141,6 +141,7 @@
}
expire_cached_files($debug);
+ expire_lock_files($debug);
// For each feed, we call the feed update function.
while ($line = array_pop($feeds_to_update)) {
@@ -1394,6 +1395,27 @@
return $doc->saveXML($node, LIBXML_NOEMPTYTAG);
}
+ function expire_lock_files($debug) {
+ if ($debug) _debug("Removing old lock files...");
+
+ $num_deleted = 0;
+
+ if (is_writable(LOCK_DIRECTORY)) {
+ $files = glob(LOCK_DIRECTORY . "/*.lock");
+
+ if ($files) {
+ foreach ($files as $file) {
+ if (!file_is_locked($file) && time() - filemtime($file) > 86400*2) {
+ unlink($file);
+ ++$num_deleted;
+ }
+ }
+ }
+ }
+
+ if ($debug) _debug("Removed $num_deleted files.");
+ }
+
function expire_cached_files($debug) {
foreach (array("magpie", "simplepie", "images", "export") as $dir) {
$cache_dir = CACHE_DIR . "/$dir";
@@ -1405,7 +1427,7 @@
if (is_writable($cache_dir)) {
$files = glob("$cache_dir/*");
- if ($files)
+ if ($files) {
foreach ($files as $file) {
if (time() - filemtime($file) > 86400*7) {
unlink($file);
@@ -1414,6 +1436,7 @@
}
}
}
+ }
if ($debug) _debug("Removed $num_deleted files.");
}