* Avoid locking the wiki at all when handling some basic cgi stuff

(searches, recentchanges).
master
joey 2006-11-20 12:03:35 +00:00
parent 55aae671ad
commit d389b0e4a4
3 changed files with 6 additions and 4 deletions

View File

@ -67,8 +67,6 @@ sub decode_form_utf8 ($) { #{{{
sub cgi_recentchanges ($) { #{{{ sub cgi_recentchanges ($) { #{{{
my $q=shift; my $q=shift;
unlockwiki();
# Optimisation: building recentchanges means calculating lots of # Optimisation: building recentchanges means calculating lots of
# links. Memoizing htmllink speeds it up a lot (can't be memoized # links. Memoizing htmllink speeds it up a lot (can't be memoized
# during page builds as the return values may change, but they # during page builds as the return values may change, but they
@ -716,6 +714,9 @@ sub cgi (;$$) { #{{{
cgi_hyperestraier(); cgi_hyperestraier();
} }
# Need to lock the wiki before getting a session.
lockwiki();
if (! $session) { if (! $session) {
CGI::Session->name("ikiwiki_session_".encode_utf8($config{wikiname})); CGI::Session->name("ikiwiki_session_".encode_utf8($config{wikiname}));

4
debian/changelog vendored
View File

@ -12,8 +12,10 @@ ikiwiki (1.34) UNRELEASED; urgency=low
* Change how post signin actions are propigated through the signin process; * Change how post signin actions are propigated through the signin process;
they're now stored in the session. they're now stored in the session.
* Add optional "desc" parameter to shortcut definitions. * 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 ikiwiki (1.33) unstable; urgency=low

View File

@ -102,7 +102,6 @@ sub main () { #{{{
getconfig(); getconfig();
if ($config{cgi}) { if ($config{cgi}) {
lockwiki();
loadindex(); loadindex();
require IkiWiki::CGI; require IkiWiki::CGI;
cgi(); cgi();