* Correct a deadlock that could occur in post-commit if the aggregate plugin

was enabled and tried to lock the already locked wiki.
master
joey 2007-03-08 11:04:59 +00:00
parent 258c89e841
commit 66a65b5ddd
3 changed files with 19 additions and 16 deletions

View File

@ -31,15 +31,16 @@ sub getopt () { #{{{
} #}}} } #}}}
sub checkconfig () { #{{{ sub checkconfig () { #{{{
IkiWiki::lockwiki(); my $nolock=($config{post_commit} && ! commit_hook_enabled());
IkiWiki::lockwiki() unless $nolock;
loadstate(); loadstate();
if ($config{aggregate}) { if ($config{aggregate} && ! $nolock) {
IkiWiki::loadindex(); IkiWiki::loadindex();
aggregate(); aggregate();
expire(); expire();
savestate(); savestate();
} }
IkiWiki::unlockwiki(); IkiWiki::unlockwiki() unless $nolock;
} #}}} } #}}}
sub filter (@) { #{{{ sub filter (@) { #{{{

4
debian/changelog vendored
View File

@ -25,8 +25,10 @@ ikiwiki (1.45) UNRELEASED; urgency=low
* That means that *every edit link* on the wiki is potentially changed. * That means that *every edit link* on the wiki is potentially changed.
Rebuilding wikis on upgrade to this version therefore necessary; enabled Rebuilding wikis on upgrade to this version therefore necessary; enabled
that in postinst. that in postinst.
* Correct a deadlock that could occur in post-commit if the aggregate plugin
was enabled and tried to lock the already locked wiki.
-- Joey Hess <joeyh@debian.org> Wed, 7 Mar 2007 22:58:52 -0500 -- Joey Hess <joeyh@debian.org> Thu, 8 Mar 2007 05:57:49 -0500
ikiwiki (1.44) unstable; urgency=low ikiwiki (1.44) unstable; urgency=low

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2007-03-08 01:08-0500\n" "POT-Creation-Date: 2007-03-08 06:02-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -54,53 +54,53 @@ msgstr ""
msgid "login failed, perhaps you need to turn on cookies?" msgid "login failed, perhaps you need to turn on cookies?"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:61 #: ../IkiWiki/Plugin/aggregate.pm:62
#, perl-format #, perl-format
msgid "missing %s parameter" msgid "missing %s parameter"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:89 #: ../IkiWiki/Plugin/aggregate.pm:90
msgid "new feed" msgid "new feed"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:103 #: ../IkiWiki/Plugin/aggregate.pm:104
msgid "posts" msgid "posts"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:105 #: ../IkiWiki/Plugin/aggregate.pm:106
msgid "new" msgid "new"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:211 #: ../IkiWiki/Plugin/aggregate.pm:212
#, perl-format #, perl-format
msgid "expiring %s (%s days old)" msgid "expiring %s (%s days old)"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:218 #: ../IkiWiki/Plugin/aggregate.pm:219
#, perl-format #, perl-format
msgid "expiring %s" msgid "expiring %s"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:241 #: ../IkiWiki/Plugin/aggregate.pm:242
#, perl-format #, perl-format
msgid "checking feed %s ..." msgid "checking feed %s ..."
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:246 #: ../IkiWiki/Plugin/aggregate.pm:247
#, perl-format #, perl-format
msgid "could not find feed at %s" msgid "could not find feed at %s"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:255 #: ../IkiWiki/Plugin/aggregate.pm:256
msgid "feed crashed XML::Feed!" msgid "feed crashed XML::Feed!"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:278 #: ../IkiWiki/Plugin/aggregate.pm:279
#, perl-format #, perl-format
msgid "processed ok at %s" msgid "processed ok at %s"
msgstr "" msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:333 #: ../IkiWiki/Plugin/aggregate.pm:334
#, perl-format #, perl-format
msgid "creating new page %s" msgid "creating new page %s"
msgstr "" msgstr ""