* 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 () { #{{{
IkiWiki::lockwiki();
my $nolock=($config{post_commit} && ! commit_hook_enabled());
IkiWiki::lockwiki() unless $nolock;
loadstate();
if ($config{aggregate}) {
if ($config{aggregate} && ! $nolock) {
IkiWiki::loadindex();
aggregate();
expire();
savestate();
}
IkiWiki::unlockwiki();
IkiWiki::unlockwiki() unless $nolock;
} #}}}
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.
Rebuilding wikis on upgrade to this version therefore necessary; enabled
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

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\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"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -54,53 +54,53 @@ msgstr ""
msgid "login failed, perhaps you need to turn on cookies?"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:61
#: ../IkiWiki/Plugin/aggregate.pm:62
#, perl-format
msgid "missing %s parameter"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:89
#: ../IkiWiki/Plugin/aggregate.pm:90
msgid "new feed"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:103
#: ../IkiWiki/Plugin/aggregate.pm:104
msgid "posts"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:105
#: ../IkiWiki/Plugin/aggregate.pm:106
msgid "new"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:211
#: ../IkiWiki/Plugin/aggregate.pm:212
#, perl-format
msgid "expiring %s (%s days old)"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:218
#: ../IkiWiki/Plugin/aggregate.pm:219
#, perl-format
msgid "expiring %s"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:241
#: ../IkiWiki/Plugin/aggregate.pm:242
#, perl-format
msgid "checking feed %s ..."
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:246
#: ../IkiWiki/Plugin/aggregate.pm:247
#, perl-format
msgid "could not find feed at %s"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:255
#: ../IkiWiki/Plugin/aggregate.pm:256
msgid "feed crashed XML::Feed!"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:278
#: ../IkiWiki/Plugin/aggregate.pm:279
#, perl-format
msgid "processed ok at %s"
msgstr ""
#: ../IkiWiki/Plugin/aggregate.pm:333
#: ../IkiWiki/Plugin/aggregate.pm:334
#, perl-format
msgid "creating new page %s"
msgstr ""