diff options
Diffstat (limited to 'lib/gitosis.rb')
| -rw-r--r-- | lib/gitosis.rb | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/gitosis.rb b/lib/gitosis.rb index a9eef96cd3f..cab7da2d435 100644 --- a/lib/gitosis.rb +++ b/lib/gitosis.rb @@ -27,13 +27,14 @@ class Gitosis def configure status = Timeout::timeout(20) do File.open(File.join(Dir.tmpdir,"gitlabhq-gitosis.lock"), "w+") do |f| - f.flock(File::LOCK_EX) - - pull - yield(self) - push - - f.flock(File::LOCK_UN) + begin + f.flock(File::LOCK_EX) + pull + yield(self) + push + ensure + f.flock(File::LOCK_UN) + end end end rescue Exception => ex |
