Commit 4d37329c732b394dd521a6568be6b7a5b4c3bd68

Authored by Kevin Lynch
1 parent ef2bf152

Must ensure that the lock is always removed.

Showing 1 changed file with 8 additions and 5 deletions   Show diff stats
lib/gitosis.rb
... ... @@ -27,13 +27,16 @@ class Gitosis
27 27 def configure
28 28 status = Timeout::timeout(20) do
29 29 File.open(File.join(Dir.tmpdir,"gitlabhq-gitosis.lock"), "w+") do |f|
30   - f.flock(File::LOCK_EX)
  30 + begin
  31 + f.flock(File::LOCK_EX)
31 32  
32   - pull
33   - yield(self)
34   - push
  33 + pull
  34 + yield(self)
  35 + push
35 36  
36   - f.flock(File::LOCK_UN)
  37 + ensure
  38 + f.flock(File::LOCK_UN)
  39 + end
37 40 end
38 41 end
39 42 rescue Exception => ex
... ...