From d389b0e4a45ebd88705f3bb95bf2e19e10e6ca2a Mon Sep 17 00:00:00 2001 From: joey Date: Mon, 20 Nov 2006 12:03:35 +0000 Subject: [PATCH 1/1] * Avoid locking the wiki at all when handling some basic cgi stuff (searches, recentchanges). --- IkiWiki/CGI.pm | 5 +++-- debian/changelog | 4 +++- ikiwiki.pl | 1 - 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 Mon, 20 Nov 2006 06:14:51 -0500 + -- Joey Hess 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(); -- 2.44.0