summaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/aggregate.pm
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/Plugin/aggregate.pm
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/Plugin/aggregate.pm')
-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};