Merge pull request #31 from klynch/1x

Must ensure that the lock is always removed.
This commit is contained in:
Dmitriy Zaporozhets 2011-10-18 01:17:52 -07:00
commit 757ea63466
2 changed files with 9 additions and 6 deletions

View file

@ -28,7 +28,7 @@ class Project < ActiveRecord::Base
:uniqueness => true, :uniqueness => true,
:format => { :with => /^[a-zA-Z0-9_\-]*$/, :format => { :with => /^[a-zA-Z0-9_\-]*$/,
:message => "only letters, digits & '_' '-' allowed" }, :message => "only letters, digits & '_' '-' allowed" },
:length => { :within => 3..16 } :length => { :within => 3..255 }
validates :owner, validates :owner,
:presence => true :presence => true

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