summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--IkiWiki/CGI.pm5
-rw-r--r--debian/changelog4
-rwxr-xr-xikiwiki.pl1
3 files changed, 6 insertions, 4 deletions
diff --git a/IkiWiki/CGI.pm b/IkiWiki/CGI.pm
index 53237bcdb..14861e398 100644
--- a/IkiWiki/CGI.pm
+++ b/IkiWiki/CGI.pm
@@ -67,8 +67,6 @@ sub decode_form_utf8 ($) { #{{{
sub cgi_recentchanges ($) { #{{{
my $q=shift;
- unlockwiki();
-
# Optimisation: building recentchanges means calculating lots of
# links. Memoizing htmllink speeds it up a lot (can't be memoized
# during page builds as the return values may change, but they
@@ -715,6 +713,9 @@ sub cgi (;$$) { #{{{
elsif ($do eq 'hyperestraier') {
cgi_hyperestraier();
}
+
+ # Need to lock the wiki before getting a session.
+ lockwiki();
if (! $session) {
CGI::Session->name("ikiwiki_session_".encode_utf8($config{wikiname}));
diff --git a/debian/changelog b/debian/changelog
index d38152132..b622fa006 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -12,8 +12,10 @@ ikiwiki (1.34) UNRELEASED; urgency=low
* Change how post signin actions are propigated through the signin process;
they're now stored in the session.
* Add optional "desc" parameter to shortcut definitions.
+ * Avoid locking the wiki at all when handling some basic cgi stuff
+ (searches, recentchanges).
- -- Joey Hess <joeyh@debian.org> Mon, 20 Nov 2006 06:14:51 -0500
+ -- Joey Hess <joeyh@debian.org> Mon, 20 Nov 2006 06:54:12 -0500
ikiwiki (1.33) unstable; urgency=low
diff --git a/ikiwiki.pl b/ikiwiki.pl
index 60ba5e182..ff1da353e 100755
--- a/ikiwiki.pl
+++ b/ikiwiki.pl
@@ -102,7 +102,6 @@ sub main () { #{{{
getconfig();
if ($config{cgi}) {
- lockwiki();
loadindex();
require IkiWiki::CGI;
cgi();