]> sipb.mit.edu Git - ikiwiki.git/commitdiff
* Correct a deadlock that could occur in post-commit if the aggregate plugin
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Thu, 8 Mar 2007 11:04:59 +0000 (11:04 +0000)
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>
Thu, 8 Mar 2007 11:04:59 +0000 (11:04 +0000)
  was enabled and tried to lock the already locked wiki.

IkiWiki/Plugin/aggregate.pm
debian/changelog
po/ikiwiki.pot

index b1b069b006005f179216dfcf76e0cf0dfdbd5159..bdbcd536f6ffb381489ab977bd36170c3ea9daf4 100644 (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 (@) { #{{{
index 47a1a942383c8d474d20fcc749598a3ba154c73a..faddbb983c82d50441942f01a1f9eb86fa26705d 100644 (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
 
index 7d5af02edcad3068649489cce553a6f245724da8..f622d2652debc9d4be1b6844992098459f68204f 100644 (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 ""