summaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-05-21 02:59:06 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2007-05-21 02:59:06 +0000
commit10017feaec75703b484f4d4f066e9d77cc7625ce (patch)
treef06eae8543510578a4b6dee35945eb7c0d044db5 /IkiWiki
parent82ac63d798cc7f45a42e14bc2ad05a9388e25a04 (diff)
Clear state after performing aggregation, since it could hypothetically
change after the lock is dropped, and before the lock is regained by the build process. The state will now be reloaded by the build process.
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/Plugin/aggregate.pm7
1 files changed, 7 insertions, 0 deletions
diff --git a/IkiWiki/Plugin/aggregate.pm b/IkiWiki/Plugin/aggregate.pm
index 082290114..5024975ac 100644
--- a/IkiWiki/Plugin/aggregate.pm
+++ b/IkiWiki/Plugin/aggregate.pm
@@ -41,6 +41,7 @@ sub checkconfig () { #{{{
aggregate();
expire();
savestate();
+ clearstate();
IkiWiki::unlockwiki();
}
@@ -207,6 +208,12 @@ sub savestate () { #{{{
error("rename $newfile: $!", $cleanup);
} #}}}
+sub clearstate () { #{{{
+ %feeds=();
+ %guids=();
+ $state_loaded=0;
+} #}}}
+
sub expire () { #{{{
foreach my $feed (values %feeds) {
next unless $feed->{expireage} || $feed->{expirecount};