Must ensure that the lock is always removed.

This commit is contained in:
Kevin Lynch 2011-10-17 01:53:30 -04:00
parent ef2bf15204
commit 4d37329c73

View file

@ -27,13 +27,16 @@ class Gitosis
def configure def configure
status = Timeout::timeout(20) do status = Timeout::timeout(20) do
File.open(File.join(Dir.tmpdir,"gitlabhq-gitosis.lock"), "w+") do |f| File.open(File.join(Dir.tmpdir,"gitlabhq-gitosis.lock"), "w+") do |f|
f.flock(File::LOCK_EX) begin
f.flock(File::LOCK_EX)
pull pull
yield(self) yield(self)
push push
f.flock(File::LOCK_UN) ensure
f.flock(File::LOCK_UN)
end
end end
end end
rescue Exception => ex rescue Exception => ex