From d3d399941061d95cd4aae6ae2cf7594a4e5e7452 Mon Sep 17 00:00:00 2001 From: Joey Hess Date: Sun, 26 Oct 2008 15:13:04 -0400 Subject: do no-op post_commit test in wrapper This speeds up web commits by 1/4th of a second or so, since perl does not have to start up for the post commit hook. perl's locking is completly FuBar, since it's impossible to tell what perl flock() really does, and thus difficult to write code in other languages that interoperates with perl's locking. (Let alone interoperating with existing fcntl locking from perl...) In this particular case, I think I was able to find a way to avoid the insanity, mostly. The C code does a true flock(2), and if perl is using an incompatable lock method that does not use the same locking primative at the kernel level, then the C code's test will fail, and it will go ahead and run the perl code. Then the perl code's test will test the right thing. On Debian, at least lately, perl's flock() does a true flock(2), so the optimisation does work. --- ikiwiki.in | 5 ----- 1 file changed, 5 deletions(-) (limited to 'ikiwiki.in') diff --git a/ikiwiki.in b/ikiwiki.in index f2407b8d0..af5cabdc0 100755 --- a/ikiwiki.in +++ b/ikiwiki.in @@ -119,11 +119,6 @@ sub getconfig () { #{{{ } delete $ENV{WRAPPED_OPTIONS}; - if ($config{post_commit} && ! commit_hook_enabled()) { - # optimisation for no-op post_commit - exit 0; - } - loadplugins(); checkconfig(); } -- cgit v1.2.3