do no-op post_commit test in wrapper
authorJoey Hess <joey@kodama.kitenet.net>
Sun, 26 Oct 2008 19:13:04 +0000 (15:13 -0400)
committerJoey Hess <joey@kodama.kitenet.net>
Sun, 26 Oct 2008 19:13:04 +0000 (15:13 -0400)
commitd3d399941061d95cd4aae6ae2cf7594a4e5e7452
tree7bf4eef2282129ad83027df18d6cebc2b75f5d53
parent7ddea03684df47c861c264216b83e7653d6784fd
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.
14 files changed:
IkiWiki/Wrapper.pm
debian/changelog
ikiwiki.in
po/bg.po
po/cs.po
po/da.po
po/de.po
po/es.po
po/fr.po
po/gu.po
po/ikiwiki.pot
po/pl.po
po/sv.po
po/vi.po